Use built-in nint keyword over IntPtr CLR type

This commit is contained in:
Oliver Booth 2022-11-29 18:40:26 +00:00
parent a91ac7d7fa
commit 36c0845fbe
No known key found for this signature in database
GPG Key ID: 32A00B35503AF634
22 changed files with 109 additions and 112 deletions

View File

@ -148,7 +148,7 @@ public sealed class VirtualParadiseAvatar : IEquatable<VirtualParadiseAvatar>
lock (_client.Lock) lock (_client.Lock)
{ {
IntPtr handle = _client.NativeInstanceHandle; nint handle = _client.NativeInstanceHandle;
vp_double_set(handle, FloatAttribute.ClickHitX, x); vp_double_set(handle, FloatAttribute.ClickHitX, x);
vp_double_set(handle, FloatAttribute.ClickHitY, y); vp_double_set(handle, FloatAttribute.ClickHitY, y);
@ -337,7 +337,7 @@ public sealed class VirtualParadiseAvatar : IEquatable<VirtualParadiseAvatar>
await _client.EnterAsync(world); await _client.EnterAsync(world);
} }
IntPtr handle = _client.NativeInstanceHandle; nint handle = _client.NativeInstanceHandle;
if (this == _client.CurrentAvatar) if (this == _client.CurrentAvatar)
{ {

View File

@ -53,7 +53,7 @@ public class VirtualParadiseModelObject : VirtualParadiseObject
lock (Client.Lock) lock (Client.Lock)
{ {
IntPtr handle = Client.NativeInstanceHandle; nint handle = Client.NativeInstanceHandle;
_ = vp_int_set(handle, IntegerAttribute.ObjectId, Id); _ = vp_int_set(handle, IntegerAttribute.ObjectId, Id);
builder.ApplyChanges(); builder.ApplyChanges();
@ -75,7 +75,7 @@ public class VirtualParadiseModelObject : VirtualParadiseObject
} }
/// <inheritdoc /> /// <inheritdoc />
protected internal override void ExtractFromInstance(IntPtr handle) protected internal override void ExtractFromInstance(nint handle)
{ {
Action = vp_string(handle, StringAttribute.ObjectAction); Action = vp_string(handle, StringAttribute.ObjectAction);
Description = vp_string(handle, StringAttribute.ObjectDescription); Description = vp_string(handle, StringAttribute.ObjectDescription);

View File

@ -105,7 +105,7 @@ public sealed class VirtualParadiseModelObjectBuilder : VirtualParadiseObjectBui
internal void ApplyChanges() internal void ApplyChanges()
{ {
IntPtr handle = Client.NativeInstanceHandle; nint handle = Client.NativeInstanceHandle;
if (Action is { } action) if (Action is { } action)
{ {

View File

@ -224,10 +224,10 @@ public abstract class VirtualParadiseObject : IEquatable<VirtualParadiseObject>
Owner = virtualParadiseObject.Owner; Owner = virtualParadiseObject.Owner;
} }
protected internal virtual void ExtractFromInstance(IntPtr handle) protected internal virtual void ExtractFromInstance(nint handle)
{ {
var data = Span<byte>.Empty; var data = Span<byte>.Empty;
IntPtr dataPtr = vp_data(handle, DataAttribute.ObjectData, out int length); nint dataPtr = vp_data(handle, DataAttribute.ObjectData, out int length);
if (length > 0) if (length > 0)
{ {

View File

@ -182,7 +182,7 @@ public sealed class VirtualParadiseUser : IEquatable<VirtualParadiseUser>
} }
// ReSharper disable InconsistentlySynchronizedField // ReSharper disable InconsistentlySynchronizedField
IntPtr handle = _client.NativeInstanceHandle; nint handle = _client.NativeInstanceHandle;
TaskCompletionSource<ReasonCode> taskCompletionSource; TaskCompletionSource<ReasonCode> taskCompletionSource;
lock (_client.Lock) lock (_client.Lock)

View File

@ -14,39 +14,39 @@ internal static class Native
public static extern int vp_init(int version = NativeSdkVersion); public static extern int vp_init(int version = NativeSdkVersion);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr vp_create(ref NetConfig net_config); public static extern nint vp_create(ref NetConfig net_config);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_destroy(IntPtr instance); public static extern int vp_destroy(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_connect_universe(IntPtr instance, public static extern int vp_connect_universe(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string host, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string host,
int port); int port);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_login(IntPtr instance, public static extern int vp_login(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string username, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string username,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string password, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string password,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string botname); [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string botname);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_wait(IntPtr instance, int milliseconds); public static extern int vp_wait(nint instance, int milliseconds);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_enter(IntPtr instance, public static extern int vp_enter(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world_name); [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world_name);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_leave(IntPtr instance); public static extern int vp_leave(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_say( public static extern int vp_say(
IntPtr instance, nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string message); [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string message);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_console_message(IntPtr instance, public static extern int vp_console_message(nint instance,
int session, int session,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string name, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string name,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string message, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string message,
@ -56,83 +56,83 @@ internal static class Native
byte blue); byte blue);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_event_set(IntPtr instance, public static extern int vp_event_set(nint instance,
[MarshalAs(UnmanagedType.I4)] NativeEvent event_name, [MarshalAs(UnmanagedType.I4)] NativeEvent event_name,
[MarshalAs(UnmanagedType.FunctionPtr)] NativeEventHandler @event); [MarshalAs(UnmanagedType.FunctionPtr)] NativeEventHandler @event);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_callback_set(IntPtr instance, public static extern int vp_callback_set(nint instance,
[MarshalAs(UnmanagedType.I4)] NativeCallback callbackname, [MarshalAs(UnmanagedType.I4)] NativeCallback callbackname,
[MarshalAs(UnmanagedType.FunctionPtr)] NativeCallbackHandler callback); [MarshalAs(UnmanagedType.FunctionPtr)] NativeCallbackHandler callback);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_state_change(IntPtr instance); public static extern int vp_state_change(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_int(IntPtr instance, [MarshalAs(UnmanagedType.I4)] IntegerAttribute attr); public static extern int vp_int(nint instance, [MarshalAs(UnmanagedType.I4)] IntegerAttribute attr);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern float vp_float(IntPtr instance, [MarshalAs(UnmanagedType.I4)] FloatAttribute attr); public static extern float vp_float(nint instance, [MarshalAs(UnmanagedType.I4)] FloatAttribute attr);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern double vp_double(IntPtr instance, [MarshalAs(UnmanagedType.I4)] FloatAttribute attr); public static extern double vp_double(nint instance, [MarshalAs(UnmanagedType.I4)] FloatAttribute attr);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToManaged))] [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToManaged))]
public static extern string vp_string(IntPtr instance, [MarshalAs(UnmanagedType.I4)] StringAttribute attr); public static extern string vp_string(nint instance, [MarshalAs(UnmanagedType.I4)] StringAttribute attr);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr vp_data(IntPtr instance, [MarshalAs(UnmanagedType.I4)] DataAttribute attr, out int length); public static extern nint vp_data(nint instance, [MarshalAs(UnmanagedType.I4)] DataAttribute attr, out int length);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_int_set(IntPtr instance, public static extern int vp_int_set(nint instance,
[MarshalAs(UnmanagedType.I4)] IntegerAttribute name, [MarshalAs(UnmanagedType.I4)] IntegerAttribute name,
int value); int value);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_float_set(IntPtr instance, public static extern int vp_float_set(nint instance,
[MarshalAs(UnmanagedType.I4)] FloatAttribute name, [MarshalAs(UnmanagedType.I4)] FloatAttribute name,
float value); float value);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_double_set(IntPtr instance, public static extern int vp_double_set(nint instance,
[MarshalAs(UnmanagedType.I4)] FloatAttribute attr, [MarshalAs(UnmanagedType.I4)] FloatAttribute attr,
double value); double value);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern void vp_string_set(IntPtr instance, public static extern void vp_string_set(nint instance,
StringAttribute name, StringAttribute name,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string str); [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string str);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_data_set(IntPtr instance, public static extern int vp_data_set(nint instance,
[MarshalAs(UnmanagedType.I4)] DataAttribute name, [MarshalAs(UnmanagedType.I4)] DataAttribute name,
int length, int length,
byte[] data); byte[] data);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_query_cell(IntPtr instance, int x, int z); public static extern int vp_query_cell(nint instance, int x, int z);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_query_cell_revision(IntPtr instance, int x, int z, int revision); public static extern int vp_query_cell_revision(nint instance, int x, int z, int revision);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_add(IntPtr instance); public static extern int vp_object_add(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_load(IntPtr instance); public static extern int vp_object_load(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_bump_begin(IntPtr instance, int object_id, int session_to); public static extern int vp_object_bump_begin(nint instance, int object_id, int session_to);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_bump_end(IntPtr instance, int object_id, int session_to); public static extern int vp_object_bump_end(nint instance, int object_id, int session_to);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_change(IntPtr instance); public static extern int vp_object_change(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_click(IntPtr instance, public static extern int vp_object_click(nint instance,
int object_id, int object_id,
int session_to, int session_to,
float hit_x, float hit_x,
@ -140,40 +140,40 @@ internal static class Native
float hit_z); float hit_z);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_delete(IntPtr instance, int object_id); public static extern int vp_object_delete(nint instance, int object_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_object_get(IntPtr instance, int object_id); public static extern int vp_object_get(nint instance, int object_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_world_list(IntPtr instance, int time); public static extern int vp_world_list(nint instance, int time);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_user_attributes_by_id(IntPtr instance, int user_id); public static extern int vp_user_attributes_by_id(nint instance, int user_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_user_attributes_by_name(IntPtr instance, public static extern int vp_user_attributes_by_name(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string name); [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string name);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_friends_get(IntPtr instance); public static extern int vp_friends_get(nint instance);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_friend_add_by_name(IntPtr instance, public static extern int vp_friend_add_by_name(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string name); [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string name);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_friend_delete(IntPtr instance, int friend_user_id); public static extern int vp_friend_delete(nint instance, int friend_user_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_terrain_query(IntPtr instance, int tile_x, int tile_z, int[,] revision); public static extern int vp_terrain_query(nint instance, int tile_x, int tile_z, int[,] revision);
// [DllImport(VpSdkLibrary, CallingConvention=CallingConvention.Cdecl)] public static extern int vp_terrain_node_set(IntPtr instance, int tile_x, int tile_z, int node_x, int node_z, struct vp_terrain_cell_t* cells); // [DllImport(VpSdkLibrary, CallingConvention=CallingConvention.Cdecl)] public static extern int vp_terrain_node_set(IntPtr instance, int tile_x, int tile_z, int node_x, int node_z, struct vp_terrain_cell_t* cells);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_avatar_click(IntPtr instance, int avatar_session); public static extern int vp_avatar_click(nint instance, int avatar_session);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_teleport_avatar(IntPtr instance, public static extern int vp_teleport_avatar(nint instance,
int target_session, int target_session,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world,
float x, float x,
@ -183,16 +183,16 @@ internal static class Native
float pitch); float pitch);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_url_send(IntPtr instance, public static extern int vp_url_send(nint instance,
int session_id, int session_id,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string url, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string url,
[MarshalAs(UnmanagedType.I4)] UriTarget url_target); [MarshalAs(UnmanagedType.I4)] UriTarget url_target);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_join(IntPtr instance, int user_id); public static extern int vp_join(nint instance, int user_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_join_accept(IntPtr instance, public static extern int vp_join_accept(nint instance,
int requestId, int requestId,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world,
double x, double x,
@ -202,28 +202,28 @@ internal static class Native
float pitch); float pitch);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_join_decline(IntPtr instance, int requestId); public static extern int vp_join_decline(nint instance, int requestId);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_world_permission_user_set(IntPtr instance, public static extern int vp_world_permission_user_set(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string permission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string permission,
int user_id, int user_id,
int enable); int enable);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_world_permission_session_set(IntPtr instance, public static extern int vp_world_permission_session_set(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string permission, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string permission,
int session_id, int session_id,
int enable); int enable);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_world_setting_set(IntPtr instance, public static extern int vp_world_setting_set(nint instance,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string setting, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string setting,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string value, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string value,
int session_to); int session_to);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_invite(IntPtr instance, public static extern int vp_invite(nint instance,
int user_id, int user_id,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string world,
double x, double x,
@ -233,11 +233,11 @@ internal static class Native
float pitch); float pitch);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_invite_accept(IntPtr instance, int invitation_id); public static extern int vp_invite_accept(nint instance, int invitation_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_invite_decline(IntPtr instance, int invitation_id); public static extern int vp_invite_decline(nint instance, int invitation_id);
[DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)] [DllImport(VpSdkLibrary, CallingConvention = CallingConvention.Cdecl)]
public static extern int vp_net_notify(IntPtr vpConnection, int type, int status); public static extern int vp_net_notify(nint vpConnection, int type, int status);
} }

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void NativeCallbackHandler(IntPtr sender, [MarshalAs(UnmanagedType.I4)] ReasonCode reason, int reference); internal delegate void NativeCallbackHandler(nint sender, [MarshalAs(UnmanagedType.I4)] ReasonCode reason, int reference);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void NativeEventHandler(IntPtr sender); internal delegate void NativeEventHandler(nint sender);

View File

@ -12,5 +12,5 @@ internal struct NetConfig
public SocketReceiveFunction Receive; public SocketReceiveFunction Receive;
public SocketTimeoutFunction Timeout; public SocketTimeoutFunction Timeout;
public SocketWaitFunction Wait; public SocketWaitFunction Wait;
public IntPtr Context; public nint Context;
} }

View File

@ -3,7 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate int SocketConnectFunction( internal delegate int SocketConnectFunction(nint socket, nint host, ushort port);
IntPtr socket,
IntPtr host, //[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Utf8StringToNative))] string host,
ushort port);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate IntPtr SocketCreateFunction(IntPtr connection, IntPtr context); internal delegate nint SocketCreateFunction(nint connection, nint context);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void SocketDestroyFunction(IntPtr socket); internal delegate void SocketDestroyFunction(nint socket);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate int SocketReceiveFunction(IntPtr socket, IntPtr data, uint length); internal delegate int SocketReceiveFunction(nint socket, nint data, uint length);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate int SocketSendFunction(IntPtr socket, IntPtr data, uint length); internal delegate int SocketSendFunction(nint socket, nint data, uint length);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate int SocketTimeoutFunction(IntPtr socket, int seconds); internal delegate int SocketTimeoutFunction(nint socket, int seconds);

View File

@ -3,4 +3,4 @@
namespace VpSharp.Internal; namespace VpSharp.Internal;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate int SocketWaitFunction(IntPtr context, int duration); internal delegate int SocketWaitFunction(nint context, int duration);

View File

@ -16,7 +16,7 @@ internal sealed class Utf8StringToNative : ICustomMarshaler
{ {
} }
public void CleanUpNativeData(IntPtr pNativeData) public void CleanUpNativeData(nint pNativeData)
{ {
Marshal.FreeHGlobal(pNativeData); Marshal.FreeHGlobal(pNativeData);
} }
@ -26,16 +26,16 @@ internal sealed class Utf8StringToNative : ICustomMarshaler
return -1; return -1;
} }
public IntPtr MarshalManagedToNative(object managedObj) public nint MarshalManagedToNative(object managedObj)
{ {
byte[] utf8Data = Encoding.UTF8.GetBytes((string)managedObj); byte[] utf8Data = Encoding.UTF8.GetBytes((string)managedObj);
IntPtr buffer = Marshal.AllocHGlobal(utf8Data.Length + 1); nint buffer = Marshal.AllocHGlobal(utf8Data.Length + 1);
Marshal.Copy(utf8Data, 0, buffer, utf8Data.Length); Marshal.Copy(utf8Data, 0, buffer, utf8Data.Length);
Marshal.WriteByte(buffer, utf8Data.Length, 0); Marshal.WriteByte(buffer, utf8Data.Length, 0);
return buffer; return buffer;
} }
public object MarshalNativeToManaged(IntPtr pNativeData) public object MarshalNativeToManaged(nint pNativeData)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

View File

@ -38,7 +38,7 @@ public sealed partial class VirtualParadiseClient
}); });
} }
private VirtualParadiseAvatar ExtractAvatar(IntPtr sender) private VirtualParadiseAvatar ExtractAvatar(nint sender)
{ {
lock (Lock) lock (Lock)
{ {

View File

@ -11,7 +11,7 @@ public sealed partial class VirtualParadiseClient
internal object Lock { get; } = new(); internal object Lock { get; } = new();
internal IntPtr NativeInstanceHandle { get; private set; } internal nint NativeInstanceHandle { get; private set; }
private void Initialize() private void Initialize()
{ {

View File

@ -38,7 +38,7 @@ public sealed partial class VirtualParadiseClient
vp_callback_set(NativeInstanceHandle, nativeCallback, handler); vp_callback_set(NativeInstanceHandle, nativeCallback, handler);
} }
private async void OnObjectGetNativeCallback(IntPtr sender, ReasonCode reason, int reference) private async void OnObjectGetNativeCallback(nint sender, ReasonCode reason, int reference)
{ {
if (!_objectCompletionSources.TryGetValue(reference, out TaskCompletionSource<(ReasonCode, VirtualParadiseObject)>? taskCompletionSource)) if (!_objectCompletionSources.TryGetValue(reference, out TaskCompletionSource<(ReasonCode, VirtualParadiseObject)>? taskCompletionSource))
{ {
@ -49,22 +49,22 @@ public sealed partial class VirtualParadiseClient
taskCompletionSource.SetResult((reason, virtualParadiseObject)); taskCompletionSource.SetResult((reason, virtualParadiseObject));
} }
private void OnLoginNativeCallback(IntPtr sender, ReasonCode reason, int reference) private void OnLoginNativeCallback(nint sender, ReasonCode reason, int reference)
{ {
_loginCompletionSource?.SetResult(reason); _loginCompletionSource?.SetResult(reason);
} }
private void OnEnterNativeCallback(IntPtr sender, ReasonCode reason, int reference) private void OnEnterNativeCallback(nint sender, ReasonCode reason, int reference)
{ {
_enterCompletionSource?.SetResult(reason); _enterCompletionSource?.SetResult(reason);
} }
private void OnConnectUniverseNativeCallback(IntPtr sender, ReasonCode reason, int reference) private void OnConnectUniverseNativeCallback(nint sender, ReasonCode reason, int reference)
{ {
_connectCompletionSource?.SetResult(reason); _connectCompletionSource?.SetResult(reason);
} }
private void OnWorldListNativeCallback(IntPtr sender, ReasonCode reason, int reference) private void OnWorldListNativeCallback(nint sender, ReasonCode reason, int reference)
{ {
_worldListChannel?.Writer.Complete(); _worldListChannel?.Writer.Complete();
} }

View File

@ -1,4 +1,4 @@
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Drawing; using System.Drawing;
using System.Numerics; using System.Numerics;
using System.Threading.Channels; using System.Threading.Channels;
@ -50,7 +50,7 @@ public sealed partial class VirtualParadiseClient
vp_event_set(NativeInstanceHandle, nativeEvent, handler); vp_event_set(NativeInstanceHandle, nativeEvent, handler);
} }
private void OnChatNativeEvent(IntPtr sender) private void OnChatNativeEvent(nint sender)
{ {
VirtualParadiseMessage message; VirtualParadiseMessage message;
@ -87,7 +87,7 @@ public sealed partial class VirtualParadiseClient
} }
} }
private async void OnAvatarAddNativeEvent(IntPtr sender) private async void OnAvatarAddNativeEvent(nint sender)
{ {
VirtualParadiseAvatar avatar = ExtractAvatar(sender); VirtualParadiseAvatar avatar = ExtractAvatar(sender);
avatar = AddOrUpdateAvatar(avatar); avatar = AddOrUpdateAvatar(avatar);
@ -97,7 +97,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(AvatarJoined, args); RaiseEvent(AvatarJoined, args);
} }
private void OnAvatarChangeNativeEvent(IntPtr sender) private void OnAvatarChangeNativeEvent(nint sender)
{ {
int session; int session;
int type; int type;
@ -140,7 +140,7 @@ public sealed partial class VirtualParadiseClient
} }
} }
private void OnAvatarDeleteNativeEvent(IntPtr sender) private void OnAvatarDeleteNativeEvent(nint sender)
{ {
int session; int session;
@ -156,7 +156,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(AvatarLeft, args); RaiseEvent(AvatarLeft, args);
} }
private async void OnObjectNativeEvent(IntPtr sender) private async void OnObjectNativeEvent(nint sender)
{ {
int session; int session;
@ -185,7 +185,7 @@ public sealed partial class VirtualParadiseClient
} }
} }
private async void OnObjectChangeNativeEvent(IntPtr sender) private async void OnObjectChangeNativeEvent(nint sender)
{ {
int objectId; int objectId;
int session; int session;
@ -217,7 +217,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(ObjectChanged, args); RaiseEvent(ObjectChanged, args);
} }
private async void OnObjectDeleteNativeEvent(IntPtr sender) private async void OnObjectDeleteNativeEvent(nint sender)
{ {
int objectId; int objectId;
int session; int session;
@ -229,7 +229,7 @@ public sealed partial class VirtualParadiseClient
} }
VirtualParadiseAvatar? avatar = GetAvatar(session); VirtualParadiseAvatar? avatar = GetAvatar(session);
VirtualParadiseObject virtualParadiseObject; VirtualParadiseObject? virtualParadiseObject;
try try
{ {
@ -240,13 +240,13 @@ public sealed partial class VirtualParadiseClient
virtualParadiseObject = null; virtualParadiseObject = null;
} }
_objects.TryRemove(objectId, out VirtualParadiseObject _); _objects.TryRemove(objectId, out VirtualParadiseObject? _);
var args = new ObjectDeletedEventArgs(avatar, objectId, virtualParadiseObject); var args = new ObjectDeletedEventArgs(avatar!, objectId, virtualParadiseObject!);
RaiseEvent(ObjectDeleted, args); RaiseEvent(ObjectDeleted, args);
} }
private async void OnObjectClickNativeEvent(IntPtr sender) private async void OnObjectClickNativeEvent(nint sender)
{ {
Vector3d clickPoint; Vector3d clickPoint;
int objectId; int objectId;
@ -269,7 +269,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(ObjectClicked, args); RaiseEvent(ObjectClicked, args);
} }
private async void OnWorldListNativeEvent(IntPtr sender) private async void OnWorldListNativeEvent(nint sender)
{ {
VirtualParadiseWorld world; VirtualParadiseWorld world;
@ -292,7 +292,7 @@ public sealed partial class VirtualParadiseClient
} }
} }
private void OnWorldSettingNativeEvent(IntPtr sender) private void OnWorldSettingNativeEvent(nint sender)
{ {
lock (Lock) lock (Lock)
{ {
@ -302,12 +302,12 @@ public sealed partial class VirtualParadiseClient
} }
} }
private void OnWorldSettingsChangedNativeEvent(IntPtr sender) private void OnWorldSettingsChangedNativeEvent(nint sender)
{ {
_worldSettingsCompletionSource.SetResult(); _worldSettingsCompletionSource.SetResult();
} }
private async void OnFriendNativeEvent(IntPtr sender) private async void OnFriendNativeEvent(nint sender)
{ {
int userId; int userId;
@ -320,7 +320,7 @@ public sealed partial class VirtualParadiseClient
_friends.AddOrUpdate(userId, user, (_, _) => user); _friends.AddOrUpdate(userId, user, (_, _) => user);
} }
private void OnWorldDisconnectNativeEvent(IntPtr sender) private void OnWorldDisconnectNativeEvent(nint sender)
{ {
DisconnectReason reason; DisconnectReason reason;
lock (Lock) lock (Lock)
@ -332,7 +332,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(WorldServerDisconnected, args); RaiseEvent(WorldServerDisconnected, args);
} }
private void OnUniverseDisconnectNativeEvent(IntPtr sender) private void OnUniverseDisconnectNativeEvent(nint sender)
{ {
DisconnectReason reason; DisconnectReason reason;
lock (Lock) lock (Lock)
@ -344,7 +344,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(UniverseServerDisconnected, args); RaiseEvent(UniverseServerDisconnected, args);
} }
private void OnUserAttributesNativeEvent(IntPtr sender) private void OnUserAttributesNativeEvent(nint sender)
{ {
int userId; int userId;
VirtualParadiseUser user; VirtualParadiseUser user;
@ -375,7 +375,7 @@ public sealed partial class VirtualParadiseClient
} }
} }
private void OnQueryCellEndNativeEvent(IntPtr sender) private void OnQueryCellEndNativeEvent(nint sender)
{ {
Cell cell; Cell cell;
@ -393,7 +393,7 @@ public sealed partial class VirtualParadiseClient
} }
} }
private void OnAvatarClickNativeEvent(IntPtr sender) private void OnAvatarClickNativeEvent(nint sender)
{ {
int session, clickedSession; int session, clickedSession;
Vector3d clickPoint; Vector3d clickPoint;
@ -415,7 +415,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(AvatarClicked, args); RaiseEvent(AvatarClicked, args);
} }
private async void OnTeleportNativeEvent(IntPtr sender) private async void OnTeleportNativeEvent(nint sender)
{ {
int session; int session;
string worldName; string worldName;
@ -446,7 +446,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(Teleported, args); RaiseEvent(Teleported, args);
} }
private async void OnObjectBumpEndNativeEvent(IntPtr sender) private async void OnObjectBumpEndNativeEvent(nint sender)
{ {
int session; int session;
int objectId; int objectId;
@ -464,7 +464,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(ObjectBump, args); RaiseEvent(ObjectBump, args);
} }
private void OnUrlNativeEvent(IntPtr sender) private void OnUrlNativeEvent(nint sender)
{ {
int session; int session;
string url; string url;
@ -488,7 +488,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(UriReceived, args); RaiseEvent(UriReceived, args);
} }
private async void OnObjectBumpBeginNativeEvent(IntPtr sender) private async void OnObjectBumpBeginNativeEvent(nint sender)
{ {
int session; int session;
int objectId; int objectId;
@ -506,7 +506,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(ObjectBump, args); RaiseEvent(ObjectBump, args);
} }
private async void OnJoinNativeEvent(IntPtr sender) private async void OnJoinNativeEvent(nint sender)
{ {
int requestId; int requestId;
int userId; int userId;
@ -525,7 +525,7 @@ public sealed partial class VirtualParadiseClient
RaiseEvent(JoinRequestReceived, args); RaiseEvent(JoinRequestReceived, args);
} }
private async void OnInviteNativeEvent(IntPtr sender) private async void OnInviteNativeEvent(nint sender)
{ {
Vector3d position; Vector3d position;
Quaternion rotation; Quaternion rotation;

View File

@ -146,7 +146,7 @@ public sealed partial class VirtualParadiseClient
}); });
} }
private async Task<VirtualParadiseObject> ExtractObjectAsync(IntPtr sender) private async Task<VirtualParadiseObject> ExtractObjectAsync(nint sender)
{ {
var type = (ObjectType) vp_int(sender, IntegerAttribute.ObjectType); var type = (ObjectType) vp_int(sender, IntegerAttribute.ObjectType);
int id = vp_int(sender, IntegerAttribute.ObjectId); int id = vp_int(sender, IntegerAttribute.ObjectId);