Added support for targeted RPCs and optional RpcContext parameter

- Enables sending RPCs to specific players
- Introduces `RpcContext` struct for contextual metadata (e.g., sender info)
This commit is contained in:
Karrar
2025-07-05 16:39:49 +03:00
parent 466c31df64
commit 53ddf149e1
11 changed files with 527 additions and 42 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -237,16 +237,60 @@
</summary> </summary>
<param name="obj">The object which will become the parent of this object.</param> <param name="obj">The object which will become the parent of this object.</param>
</member> </member>
<member name="T:Netick.Unity.FloatErrorCorrector">
<summary>
Handles prediction error correction smoothing for a float.
</summary>
</member>
<member name="T:Netick.Unity.TransformErrorCorrector">
<summary>
Handles prediction error correction smoothing for a transform.
</summary>
</member>
<member name="T:Netick.Unity.Vector3ErrorCorrector">
<summary>
Handles prediction error correction smoothing for a Vector3.
</summary>
</member>
<member name="T:Netick.Unity.Vector2ErrorCorrector">
<summary>
Handles prediction error correction smoothing for a Vector2.
</summary>
</member>
<member name="T:Netick.Unity.QuaternionErrorCorrector">
<summary>
Handles prediction error correction smoothing for a Quaternion.
</summary>
</member>
<member name="T:Netick.Unity.NetworkRigidbody2D"> <member name="T:Netick.Unity.NetworkRigidbody2D">
<summary> <summary>
This component is used to replicate the position and rotation of an object. Therefore, its the same as the Network Transform, the difference is that Network Rigidbody 2D must be used if you want to have client-side prediction over Box2D objects since it replicates several other properties necessary for correct prediction. This component is used to replicate the position and rotation of an object. Therefore, its the same as the Network Transform, the difference is that Network Rigidbody 2D must be used if you want to have client-side prediction over Box2D objects since it replicates several other properties necessary for correct prediction.
</summary> </summary>
</member> </member>
<member name="T:Netick.Unity.NetworkBehaviourRef`1">
<summary>
Represents a network-serializable reference to a <see cref="T:Netick.Unity.NetworkBehaviour"/> of type <typeparamref name="T"/> within the networked simulation.
This struct stores the object and behaviour ids, allowing retrieval of the referenced behaviour from a <see cref="T:Netick.Unity.NetworkSandbox"/>.
</summary>
<typeparam name="T">The type of <see cref="T:Netick.Unity.NetworkBehaviour"/> being referenced.</typeparam>
</member>
<member name="T:Netick.Unity.NetworkObjectRef">
<summary>
Represents a network-serializable reference to a <see cref="T:Netick.Unity.NetworkObject"/> within the networked simulation.
This struct stores the object network id, allowing retrieval of the referenced object from a <see cref="T:Netick.Unity.NetworkSandbox"/>.
</summary>
<typeparam name="T">The type of <see cref="T:Netick.Unity.NetworkBehaviour"/> being referenced.</typeparam>
</member>
<member name="T:Netick.Unity.NetworkRigidbody"> <member name="T:Netick.Unity.NetworkRigidbody">
<summary> <summary>
This component is used to replicate the position and rotation of an object. Therefore, its the same as the Network Transform, the difference is that Network Rigidbody must be used if you want to have client-side prediction over PhysX objects since it replicates several other properties necessary for correct prediction. This component is used to replicate the position and rotation of an object. Therefore, its the same as the Network Transform, the difference is that Network Rigidbody must be used if you want to have client-side prediction over PhysX objects since it replicates several other properties necessary for correct prediction.
</summary> </summary>
</member> </member>
<member name="T:Netick.Unity.PhysicsSimulationStep">
<summary>
Executes the physics (PhysX or Box2D) simulation step during the <c>NetworkFixedUpdate</c> callback of Netick.
</summary>
</member>
<member name="P:Netick.Unity.NetickBehaviour.Sandbox"> <member name="P:Netick.Unity.NetickBehaviour.Sandbox">
<summary> <summary>
The <see cref="T:Netick.Unity.NetworkSandbox"/> containing this <see cref="P:Netick.Unity.NetickBehaviour.Object"/>. The <see cref="T:Netick.Unity.NetworkSandbox"/> containing this <see cref="P:Netick.Unity.NetickBehaviour.Object"/>.
@@ -284,6 +328,13 @@
</summary> </summary>
<para>IMPORTANT NOTE: properties (which can be interpolated) marked with [<see cref="T:Netick.Smooth"/>] attribute will return interpolated values when accessed in this method.</para> <para>IMPORTANT NOTE: properties (which can be interpolated) marked with [<see cref="T:Netick.Smooth"/>] attribute will return interpolated values when accessed in this method.</para>
</member> </member>
<member name="T:Netick.Unity.NetworkBehaviour">
<summary>
Base class for all networked behaviors in Netick.
Inherit from this class to create custom network-synchronized logic.
Provides access to network state, input, and misc utility methods.
</summary>
</member>
<member name="P:Netick.Unity.NetworkBehaviour.BehaviourId"> <member name="P:Netick.Unity.NetworkBehaviour.BehaviourId">
<summary> <summary>
The network id of this <see cref="T:Netick.Unity.NetworkBehaviour"/>. The network id of this <see cref="T:Netick.Unity.NetworkBehaviour"/>.
@@ -309,6 +360,16 @@
Returns true if this <see cref="T:Netick.Unity.NetworkSandbox"/> is the owner of this Object. In this version of Netick: Server=Owner. Returns true if this <see cref="T:Netick.Unity.NetworkSandbox"/> is the owner of this Object. In this version of Netick: Server=Owner.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkBehaviour.IsHost">
<summary>
Returns true if this <see cref="T:Netick.Unity.NetworkSandbox"/> is the host.
</summary>
</member>
<member name="P:Netick.Unity.NetworkBehaviour.IsPlayer">
<summary>
Returns true if this <see cref="T:Netick.Unity.NetworkSandbox"/> is a client or the host.
</summary>
</member>
<member name="P:Netick.Unity.NetworkBehaviour.IsInputSource"> <member name="P:Netick.Unity.NetworkBehaviour.IsInputSource">
<summary> <summary>
Returns true if this <see cref="P:Netick.Unity.NetworkSandbox.LocalPlayer"/> is providing inputs to this Object. Returns true if this <see cref="P:Netick.Unity.NetworkSandbox.LocalPlayer"/> is providing inputs to this Object.
@@ -381,6 +442,21 @@
Fetches a network input for this tick. Returns false if no input source is currently providing inputs to this Object, or when input loss occurs (in case of a remote input source). Fetches a network input for this tick. Returns false if no input source is currently providing inputs to this Object, or when input loss occurs (in case of a remote input source).
</summary> </summary>
</member> </member>
<member name="M:Netick.Unity.NetworkBehaviour.OnBecameInterested">
<summary>
Called in the client when the client becomes interested in this object.
</summary>
</member>
<member name="M:Netick.Unity.NetworkBehaviour.OnBecameUninterested">
<summary>
Called in the client when the client becomes uninterested in this object.
</summary>
</member>
<member name="M:Netick.Unity.NetworkBehaviour.OnInputSourceChanged(Netick.NetworkPlayer)">
<summary>
Called in the server (or the client if it is the input source) when the input source of this Object has changed.
</summary>
</member>
<member name="M:Netick.Unity.NetworkBehaviour.OnInputSourceLeft"> <member name="M:Netick.Unity.NetworkBehaviour.OnInputSourceLeft">
<summary> <summary>
Called on the server when the input source of this Object has disconnected. Called on the server when the input source of this Object has disconnected.
@@ -560,7 +636,7 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Netick.Unity.NetworkSandbox.GetPlayerFromId(Netick.NetworkPlayerId)"> <member name="M:Netick.Unity.NetworkSandbox.GetPlayerById(Netick.NetworkPlayerId)">
<summary> <summary>
Retrieves the <see cref="T:Netick.NetworkPlayer"/> associated with the given <see cref="T:Netick.NetworkPlayerId"/>. Retrieves the <see cref="T:Netick.NetworkPlayer"/> associated with the given <see cref="T:Netick.NetworkPlayerId"/>.
<para> <para>
@@ -626,6 +702,22 @@
</summary> </summary>
<param name="behaviour"></param> <param name="behaviour"></param>
</member> </member>
<member name="M:Netick.Unity.NetworkSandbox.FindSandboxOf(UnityEngine.MonoBehaviour)">
<summary>
Finds the <see cref="T:Netick.Unity.NetworkSandbox"/> instance associated with the specified <see cref="T:UnityEngine.GameObject"/>.
Returns null if networking is not running or if no matching sandbox is found for the object's scene.
</summary>
<param name="go">The <see cref="T:UnityEngine.GameObject"/> to find the sandbox for.</param>
<returns>The <see cref="T:Netick.Unity.NetworkSandbox"/> associated with the object's scene, or null if not found.</returns>
</member>
<member name="M:Netick.Unity.NetworkSandbox.FindSandboxOf(UnityEngine.GameObject)">
<summary>
Finds the <see cref="T:Netick.Unity.NetworkSandbox"/> instance associated with the specified <see cref="T:UnityEngine.GameObject"/>.
Returns null if networking is not running or if no matching sandbox is found for the object's scene.
</summary>
<param name="go">The <see cref="T:UnityEngine.GameObject"/> to find the sandbox for.</param>
<returns>The <see cref="T:Netick.Unity.NetworkSandbox"/> associated with the object's scene, or null if not found.</returns>
</member>
<member name="P:Netick.Unity.NetworkSandbox.UserObject"> <member name="P:Netick.Unity.NetworkSandbox.UserObject">
<summary> <summary>
Use this to associate an object with this sandbox. Use this to associate an object with this sandbox.
@@ -740,7 +832,7 @@
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.LocalPlayer"> <member name="P:Netick.Unity.NetworkSandbox.LocalPlayer">
<summary> <summary>
This player. The local player (this) player of this sandbox instance.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.FixedDeltaTime"> <member name="P:Netick.Unity.NetworkSandbox.FixedDeltaTime">
@@ -822,53 +914,53 @@
Always always returns null except when called inside the body of an RPC method, it returns the <see cref="T:Netick.NetworkPlayer"/> we are executing RPCs from. Works the same as <see cref="P:Netick.Unity.NetworkSandbox.CurrentRpcSource"/>, except when the RPC is called by the local player, it returns <see cref="!:Sandbox.LocalPlayer"/>. Always always returns null except when called inside the body of an RPC method, it returns the <see cref="T:Netick.NetworkPlayer"/> we are executing RPCs from. Works the same as <see cref="P:Netick.Unity.NetworkSandbox.CurrentRpcSource"/>, except when the RPC is called by the local player, it returns <see cref="!:Sandbox.LocalPlayer"/>.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.PostNetworkFixedUpdate"> <member name="E:Netick.Unity.NetworkSandbox.PostNetworkFixedUpdate">
<summary> <summary>
Called after all NetworkFixedUpdate methods have been executed. Called after all NetworkFixedUpdate methods have been executed.
<para>Note: it's called with every resimulation on the client.</para> <para>Note: it's called with every resimulation on the client.</para>
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.PreNetworkFixedUpdate"> <member name="E:Netick.Unity.NetworkSandbox.PreNetworkFixedUpdate">
<summary> <summary>
Called before any NetworkFixedUpdate method have been executed. Called before any NetworkFixedUpdate method have been executed.
<para>Note: it's called with every resimulation on the client.</para> <para>Note: it's called with every resimulation on the client.</para>
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.PostNetworkUpdate"> <member name="E:Netick.Unity.NetworkSandbox.PostNetworkUpdate">
<summary> <summary>
Called after all NetworkUpdate methods have been executed. Called after all NetworkUpdate methods have been executed.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.PreNetworkUpdate"> <member name="E:Netick.Unity.NetworkSandbox.PreNetworkUpdate">
<summary> <summary>
Called before any NetworkUpdate method have been executed. Called before any NetworkUpdate method have been executed.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.PostNetworkRender"> <member name="E:Netick.Unity.NetworkSandbox.PostNetworkRender">
<summary> <summary>
Called after all NetworkRender methods have been executed. Called after all NetworkRender methods have been executed.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.PreNetworkRender"> <member name="E:Netick.Unity.NetworkSandbox.PreNetworkRender">
<summary> <summary>
Called before any NetworkRender method have been executed. Called before any NetworkRender method have been executed.
</summary> </summary>
</member> </member>
<member name="P:Netick.Unity.NetworkSandbox.Events">
<summary>
Use this to subscribe/unsubscribe to/from Netick events.
</summary>
</member>
<member name="M:Netick.Unity.NetworkSandbox.GetInput``1(System.Int32)"> <member name="M:Netick.Unity.NetworkSandbox.GetInput``1(System.Int32)">
<summary> <summary>
Gets a specific input for the next tick. Gets a specific input for the next tick.
</summary> </summary>
<typeparam name="T"></typeparam>
<param name="index"></param>
<returns></returns>
</member> </member>
<member name="M:Netick.Unity.NetworkSandbox.SetInput``1(``0,System.Int32)"> <member name="M:Netick.Unity.NetworkSandbox.SetInput``1(``0,System.Int32)">
<summary> <summary>
Sets a specific input for the next tick. Sets a specific input for the next tick.
</summary> </summary>
<typeparam name="T"></typeparam> <typeparam name="T"></typeparam>
<param name="input"></param>
<param name="index"></param>
</member> </member>
<member name="M:Netick.Unity.NetworkSandbox.Connect(System.Int32,System.String,System.Byte[],System.Int32)"> <member name="M:Netick.Unity.NetworkSandbox.Connect(System.Int32,System.String,System.Byte[],System.Int32)">
<summary> <summary>
@@ -880,7 +972,7 @@
<param name="port">Port of the server.</param> <param name="port">Port of the server.</param>
<param name="connectionData">RawValue sent with the connection request. Could be used to decide whether or not to allow the connection.</param> <param name="connectionData">RawValue sent with the connection request. Could be used to decide whether or not to allow the connection.</param>
</member> </member>
<member name="M:Netick.Unity.NetworkSandbox.Kick(Netick.ServerConnection)"> <member name="M:Netick.Unity.NetworkSandbox.Kick(Netick.NetworkPlayerId)">
<summary> <summary>
<i><b>[Server Only]</b></i> Disconnects a client from the server. <i><b>[Server Only]</b></i> Disconnects a client from the server.
</summary> </summary>
@@ -975,6 +1067,12 @@
<param name="startAServer">Should we start a server too.</param> <param name="startAServer">Should we start a server too.</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Netick.Unity.Network.StartAsClient(Netick.Unity.NetworkTransportProvider,UnityEngine.GameObject,Netick.Unity.NetickConfig)">
<summary>
Starts Netick as a client.
</summary>
<returns>The sandbox representing the client</returns>
</member>
<member name="M:Netick.Unity.Network.StartAsClient(Netick.Unity.NetworkTransportProvider,System.Int32,UnityEngine.GameObject,Netick.Unity.NetickConfig)"> <member name="M:Netick.Unity.Network.StartAsClient(Netick.Unity.NetworkTransportProvider,System.Int32,UnityEngine.GameObject,Netick.Unity.NetickConfig)">
<summary> <summary>
Starts Netick as a client. Starts Netick as a client.

Binary file not shown.

View File

@@ -64,7 +64,7 @@
</member> </member>
<member name="T:Netick.NetworkPlayerId"> <member name="T:Netick.NetworkPlayerId">
<summary> <summary>
Represents an networked struct identifier for a <see cref="T:Netick.NetworkPlayer"/>. Represents a networked struct identifier for a <see cref="T:Netick.NetworkPlayer"/>.
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkQueueSnapshot`1"> <member name="T:Netick.NetworkQueueSnapshot`1">
@@ -77,6 +77,57 @@
A networked <see cref="T:System.Collections.Generic.Queue`1"/> collection. A networked <see cref="T:System.Collections.Generic.Queue`1"/> collection.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkQueue`1.Count">
<summary>
Gets the number of elements contained in the queue.
</summary>
</member>
<member name="M:Netick.NetworkQueue`1.Clear">
<summary>
Removes all elements from the queue.
</summary>
</member>
<member name="M:Netick.NetworkQueue`1.Enqueue(`0)">
<summary>
Adds an item to the end of the queue if there is capacity.
</summary>
<param name="item">The item to add.</param>
<returns><c>true</c> if the item was added; otherwise, <c>false</c> if the queue is full.</returns>
</member>
<member name="M:Netick.NetworkQueue`1.Dequeue">
<summary>
Removes and returns the item at the beginning of the queue.
</summary>
<returns>The item removed from the beginning of the queue.</returns>
<exception cref="T:System.InvalidOperationException">Thrown if the queue is empty.</exception>
</member>
<member name="M:Netick.NetworkQueue`1.TryDequeue(`0@)">
<summary>
Attempts to remove and return the item at the beginning of the queue.
</summary>
<param name="result">When this method returns, contains the object removed from the queue, or the default value if the queue is empty.</param>
<returns><c>true</c> if an item was dequeued; otherwise, <c>false</c>.</returns>
</member>
<member name="M:Netick.NetworkQueue`1.Peek">
<summary>
Returns the item at the beginning of the queue without removing it.
</summary>
<returns>The item at the beginning of the queue.</returns>
<exception cref="T:System.InvalidOperationException">Thrown if the queue is empty.</exception>
</member>
<member name="M:Netick.NetworkQueue`1.TryPeek(`0@)">
<summary>
Attempts to return the item at the beginning of the queue without removing it.
</summary>
<param name="result">When this method returns, contains the object at the beginning of the queue, or the default value if the queue is empty.</param>
<returns><c>true</c> if an item was found; otherwise, <c>false</c>.</returns>
</member>
<member name="M:Netick.NetworkQueue`1.Add(`0)">
<summary>
Adds an item to the underlying original queue. Used for local operations.
</summary>
<param name="item">The item to add.</param>
</member>
<member name="P:Netick.AdaptiveRemoteInterpolation.CurrentBufferTime"> <member name="P:Netick.AdaptiveRemoteInterpolation.CurrentBufferTime">
<summary> <summary>
Interpolation time in seconds. Interpolation time in seconds.
@@ -96,20 +147,12 @@
<summary> <summary>
Tries to obtain interpolation data for this frame. Tries to obtain interpolation data for this frame.
</summary> </summary>
<param name="interpolationSource"></param>
<param name="from"></param>
<param name="to"></param>
<param name="alpha"></param>
<returns>Returns true if there was interpolation data for this frame.</returns> <returns>Returns true if there was interpolation data for this frame.</returns>
</member> </member>
<member name="M:Netick.Interpolator.GetInterpolationData``1(Netick.InterpolationSource,System.Int32,``0@,``0@,System.Single@)"> <member name="M:Netick.Interpolator.GetInterpolationData``1(Netick.InterpolationSource,System.Int32,``0@,``0@,System.Single@)">
<summary> <summary>
Tries to obtain interpolation data for this frame. This is the array version. Tries to obtain interpolation data for this frame. This is the array version.
</summary> </summary>
<param name="interpolationSource"></param>
<param name="from"></param>
<param name="to"></param>
<param name="alpha"></param>
<returns>Returns true if there was interpolation data for this frame.</returns> <returns>Returns true if there was interpolation data for this frame.</returns>
</member> </member>
<member name="T:Netick.Interpolation"> <member name="T:Netick.Interpolation">
@@ -221,11 +264,94 @@
A snapshot of the state of a <see cref="T:Netick.NetworkDictionary`2"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call. A snapshot of the state of a <see cref="T:Netick.NetworkDictionary`2"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetworkDictionarySnapshot`2.ContainsKey(`0)">
<summary>
Determines whether the dictionary contains the specified key.
</summary>
<param name="key">The key to locate in the dictionary.</param>
<returns>true if the dictionary contains an element with the specified key; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkDictionarySnapshot`2.ContainsValue(`1)">
<summary>
Determines whether the dictionary contains a specific value.
</summary>
<param name="value">The value to locate in the dictionary.</param>
<returns>true if the value is found; otherwise, false.</returns>
</member>
<member name="T:Netick.NetworkDictionary`2"> <member name="T:Netick.NetworkDictionary`2">
<summary> <summary>
A networked <see cref="T:System.Collections.Generic.Dictionary`2"/> collection. A networked <see cref="T:System.Collections.Generic.Dictionary`2"/> collection.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetworkDictionary`2.Clear">
<summary>
Removes all keys and values from the dictionary.
</summary>
</member>
<member name="P:Netick.NetworkDictionary`2.Item(`0)">
<summary>
Gets or sets the value associated with the specified key.
</summary>
<param name="key">The key whose value to get or set.</param>
<returns>The value associated with the specified key.</returns>
<exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown when the key does not exist in the dictionary.</exception>
</member>
<member name="P:Netick.NetworkDictionary`2.Count">
<summary>
Gets the number of elements contained in the dictionary.
</summary>
</member>
<member name="M:Netick.NetworkDictionary`2.Add(`0,`1)">
<summary>
Adds the specified key and value to the dictionary.
</summary>
<param name="key">The key of the element to add.</param>
<param name="value">The value of the element to add.</param>
<returns>true if the key/value pair was added; false if the key already exists or the dictionary is full.</returns>
</member>
<member name="M:Netick.NetworkDictionary`2.Remove(`0)">
<summary>
Removes the value with the specified key from the dictionary.
</summary>
<param name="key">The key of the element to remove.</param>
<returns>true if the element is successfully removed; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkDictionary`2.TryGetValue(`0,`1@)">
<summary>
Tries to get the value associated with the specified key.
</summary>
<param name="key">The key whose value to get.</param>
<param name="value">When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter.</param>
<returns>true if the key was found; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkDictionary`2.SetKeyValue(`0,`1)">
<summary>
Sets the value associated with the specified key if it exists in the dictionary.
If the key is found, updates its value.
</summary>
<returns>true if the key was found and updated; otherwise, false</returns>
</member>
<member name="M:Netick.NetworkDictionary`2.ContainsKey(`0)">
<summary>
Determines whether the dictionary contains the specified key.
</summary>
<param name="key">The key to locate in the dictionary.</param>
<returns>true if the dictionary contains an element with the specified key; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkDictionary`2.ContainsValue(`1)">
<summary>
Determines whether the dictionary contains a specific value.
</summary>
<param name="value">The value to locate in the dictionary.</param>
<returns>true if the value is found; otherwise, false.</returns>
</member>
<member name="T:Netick.InterestManagementGroup">
<summary>
Represents a group used for interest management in the Netick.
An InterestManagementGroup contains a collection of entities and manages which clients are interested in those entities,
typically for the purpose of optimizing network traffic by only sending relevant updates to clients.
</summary>
</member>
<member name="T:Netick.OnChanged"> <member name="T:Netick.OnChanged">
<summary> <summary>
Use this attribute on a method you want to call when a specific property value changes. Example: [OnChanged(nameof(PropertyName)] Use this attribute on a method you want to call when a specific property value changes. Example: [OnChanged(nameof(PropertyName)]
@@ -240,31 +366,143 @@
<para> * Use the parameter "localInvoke" to specify if this Rpc should be executed on the machine it was called from.</para> <para> * Use the parameter "localInvoke" to specify if this Rpc should be executed on the machine it was called from.</para>
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkTimer">
<summary>
A helper struct that can be used to as a timer for various gameplay purposes.
</summary>
</member>
<member name="T:Netick.NetworkHashSetSnapshot`1"> <member name="T:Netick.NetworkHashSetSnapshot`1">
<summary> <summary>
A snapshot of the state of a <see cref="T:Netick.NetworkHashSet`1"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call. A snapshot of the state of a <see cref="T:Netick.NetworkHashSet`1"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetworkHashSetSnapshot`1.Contains(`0)">
<summary>
Determines whether the hashset snapshot contains a specific value.
</summary>
<param name="item">The object to locate in the snapshot.</param>
<returns>true if item is found; otherwise, false.</returns>
</member>
<member name="T:Netick.NetworkHashSet`1"> <member name="T:Netick.NetworkHashSet`1">
<summary> <summary>
A networked <see cref="T:System.Collections.Generic.HashSet`1"/> collection. A networked <see cref="T:System.Collections.Generic.HashSet`1"/> collection.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkHashSet`1.Count">
<summary>
Gets the number of elements contained in the set.
</summary>
</member>
<member name="M:Netick.NetworkHashSet`1.Add(`0)">
<summary>
Adds an item to the set.
</summary>
<param name="item">The element to add.</param>
<returns>true if the element is added to the set; false if the element is already present or the set was full.</returns>
</member>
<member name="M:Netick.NetworkHashSet`1.Remove(`0)">
<summary>
Removes the specified item from the set.
</summary>
<param name="item">The element to remove.</param>
<returns>true if the element is successfully removed; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkHashSet`1.Contains(`0)">
<summary>
Determines whether the set contains a specific value.
</summary>
<param name="item">The object to locate in the set.</param>
<returns>true if item is found; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkHashSet`1.Clear">
<summary>
Removes all item from the set.
</summary>
</member>
<member name="T:Netick.NetworkStackSnapshot`1"> <member name="T:Netick.NetworkStackSnapshot`1">
<summary> <summary>
A snapshot of the state of a <see cref="T:Netick.NetworkStack`1"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call. A snapshot of the state of a <see cref="T:Netick.NetworkStack`1"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkStackSnapshot`1.Count">
<summary>
Gets the number of elements in the stack.
</summary>
</member>
<member name="T:Netick.NetworkStack`1"> <member name="T:Netick.NetworkStack`1">
<summary> <summary>
A networked <see cref="T:System.Collections.Generic.Stack`1"/> collection. A networked <see cref="T:System.Collections.Generic.Stack`1"/> collection.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkStack`1.Count">
<summary>
Gets the number of items contained in the stack.
</summary>
</member>
<member name="M:Netick.NetworkStack`1.Clear">
<summary>
Removes all items from the stack.
</summary>
</member>
<member name="M:Netick.NetworkStack`1.Push(`0)">
<summary>
Pushes an item onto the top of the stack.
</summary>
<param name="item">The item to push onto the stack.</param>
<returns>True if the item was pushed; false if the stack is full.</returns>
</member>
<member name="M:Netick.NetworkStack`1.Pop">
<summary>
Removes and returns the item at the top of the stack.
</summary>
<returns>The item removed from the top of the stack, or default if the stack is empty.</returns>
</member>
<member name="M:Netick.NetworkStack`1.TryPop(`0@)">
<summary>
Attempts to remove and return the item at the top of the stack.
</summary>
<param name="result">The item removed from the top of the stack, or default if the stack is empty.</param>
<returns>True if an item was removed; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkStack`1.Peek">
<summary>
Returns the item at the top of the stack without removing it.
</summary>
<returns>The item at the top of the stack, or default if the stack is empty.</returns>
</member>
<member name="M:Netick.NetworkStack`1.TryPeek(`0@)">
<summary>
Attempts to return the item at the top of the stack without removing it.
</summary>
<param name="result">The item at the top of the stack, or default if the stack is empty.</param>
<returns>True if an item was returned; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkStack`1.Add(`0)">
<summary>
Adds an item to the original stack (used for internal state).
</summary>
<param name="item">The element to add.</param>
</member>
<member name="T:Netick.NetworkLinkedListSnapshot`1"> <member name="T:Netick.NetworkLinkedListSnapshot`1">
<summary> <summary>
A snapshot of the state of a <see cref="T:Netick.NetworkLinkedList`1"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call. A snapshot of the state of a <see cref="T:Netick.NetworkLinkedList`1"/> collection. Note this must not be used outside the scope of an OnChanged call or a NetworkRender call.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkLinkedListSnapshot`1.Head">
<summary>
Gets the first node in the linked list snapshot.
</summary>
</member>
<member name="P:Netick.NetworkLinkedListSnapshot`1.Tail">
<summary>
Gets the last node in the linked list snapshot.
</summary>
</member>
<member name="M:Netick.NetworkLinkedListSnapshot`1.GetNode(System.Int32)">
<summary>
Gets the node at the specified index in the snapshot.
</summary>
</member>
<member name="F:Netick.NetworkLinkedListNode`1.Index"> <member name="F:Netick.NetworkLinkedListNode`1.Index">
<summary> <summary>
Index of this node within the collection. Index of this node within the collection.
@@ -285,21 +523,89 @@
A networked linked list collection. This is an ordered list meaning that the elements insertion order is maintained when iterating through the collection. A networked linked list collection. This is an ordered list meaning that the elements insertion order is maintained when iterating through the collection.
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkPlayer"> <member name="P:Netick.NetworkLinkedList`1.Head">
<summary> <summary>
Represents a network player, which can be either a local player (representing this player) or a remote connection (representing a connected client)). Gets the first node in the linked list.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkPlayer.PlayerId"> <member name="P:Netick.NetworkLinkedList`1.Tail">
<summary> <summary>
The networked index of this player. Gets the last node in the linked list.
<para>Note: it returns -1 on the client for the local player when not connected to a server.</para>
<para>Note: the server player always has Id 0.</para>
</summary> </summary>
</member> </member>
<member name="P:Netick.NetworkPlayer.PlayerObject"> <member name="P:Netick.NetworkLinkedList`1.Count">
<summary> <summary>
Use this to associate an object with this player. This is a local variable that is not synced. Gets the number of items contained in the linked list.
</summary>
</member>
<member name="M:Netick.NetworkLinkedList`1.Add(`0)">
<summary>
Adds an item to the end of the linked list.
</summary>
<param name="item">The item to add.</param>
<returns>True if the item was added; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.AddFirst(`0,Netick.NetworkLinkedListNode{`0}@)">
<summary>
Adds an item as the first node in the linked list.
</summary>
<param name="item">The item to add.</param>
<param name="addedNode">The node that was added.</param>
<returns>True if the item was added; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.AddLast(`0,Netick.NetworkLinkedListNode{`0}@)">
<summary>
Adds an item as the last node in the linked list.
</summary>
<param name="item">The item to add.</param>
<param name="addedNode">The node that was added.</param>
<returns>True if the item was added; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.AddBefore(Netick.NetworkLinkedListNode{`0},`0,Netick.NetworkLinkedListNode{`0}@)">
<summary>
Adds an item before the specified node in the linked list.
</summary>
<param name="beforeThisNode">The node before which to insert the new item.</param>
<param name="item">The item to add.</param>
<param name="addedNode">The node that was added.</param>
<returns>True if the item was added; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.AddAfter(Netick.NetworkLinkedListNode{`0},`0,Netick.NetworkLinkedListNode{`0}@)">
<summary>
Adds an item after the specified node in the linked list.
</summary>
<param name="afterThisNode">The node after which to insert the new item.</param>
<param name="item">The item to add.</param>
<param name="addedNode">The node that was added.</param>
<returns>True if the item was added; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.Remove(`0)">
<summary>
Removes the first occurrence of the specified item from the linked list.
</summary>
<param name="item">The item to remove.</param>
<returns>True if the item was removed; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.Remove(Netick.NetworkLinkedListNode{`0})">
<summary>
Removes the specified node from the linked list.
</summary>
<param name="node">The node to remove.</param>
<returns>True if the node was removed; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkLinkedList`1.Clear">
<summary>
Removes all items from the linked list.
</summary>
</member>
<member name="P:Netick.NetworkLinkedList`1.Nodes">
<summary>
Gets an enumerable collection of all nodes in the linked list.
</summary>
</member>
<member name="T:Netick.NetickEngine">
<summary>
The NetickEngine class is the core of Netick, managing networking, simulation, interpolation, replication, etc.
</summary> </summary>
</member> </member>
<member name="P:Netick.NetickEngine.ConnectedClients"> <member name="P:Netick.NetickEngine.ConnectedClients">
@@ -370,6 +676,12 @@
<c><b>[Client Only]</b></c> Disconnects this client from the server. <c><b>[Client Only]</b></c> Disconnects this client from the server.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetickEngine.GetWorldStateTotalSize">
<summary>
Returns the size of the entirety of the game's networked state snapshot size, in bytes. This includes the sizes of all allocated blocks.
</summary>
<returns></returns>
</member>
<member name="M:Netick.NetickEngine.AttachBehaviour(Netick.INetickScript,System.Boolean)"> <member name="M:Netick.NetickEngine.AttachBehaviour(Netick.INetickScript,System.Boolean)">
<summary> <summary>
Attaches a <see cref="T:Netick.INetickScript"/> to the simulation. Attaches a <see cref="T:Netick.INetickScript"/> to the simulation.
@@ -380,12 +692,6 @@
Detaches a <see cref="T:Netick.INetickScript"/> from the simulation. Detaches a <see cref="T:Netick.INetickScript"/> from the simulation.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetickEngine.GetWorldStateTotalSize">
<summary>
Returns the size of the entirety of the game's networked state snapshot size, in bytes. This includes the sizes of all allocated blocks.
</summary>
<returns></returns>
</member>
<member name="M:Netick.NetickEngine.Update(System.Single,System.Single)"> <member name="M:Netick.NetickEngine.Update(System.Single,System.Single)">
<summary> <summary>
Updates Netick logic. Updates Netick logic.
@@ -396,6 +702,28 @@
Call this to invoke NetworkRender on simulated entities. This might not be needed if you are running a headless build. Call this to invoke NetworkRender on simulated entities. This might not be needed if you are running a headless build.
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkPlayer">
<summary>
Represents a network player, which can be either a local player (representing this player) or a remote connection (representing a connected client)).
</summary>
</member>
<member name="P:Netick.NetworkPlayer.PlayerId">
<summary>
The networked index of this player.
<para>Note: it returns -1 on the client for the local player when not connected to a server.</para>
<para>Note: the server player always has Id 0.</para>
</summary>
</member>
<member name="P:Netick.NetworkPlayer.PlayerObject">
<summary>
Use this to associate an object with this player. This is a local variable that is not synced.
</summary>
</member>
<member name="T:Netick.Tick">
<summary>
Represents a network tick.
</summary>
</member>
<member name="M:Netick.IGameEngine.GetConnectionMetaSizeWords"> <member name="M:Netick.IGameEngine.GetConnectionMetaSizeWords">
<summary> <summary>
Implements this to inform Netick about the size (in 32 bit words) of your connection meta data. Implements this to inform Netick about the size (in 32 bit words) of your connection meta data.
@@ -511,9 +839,33 @@
A networked list collection. This is an unordered list meaning that the order of the elements during iteration is undefined. A networked list collection. This is an unordered list meaning that the order of the elements during iteration is undefined.
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkBool"> <member name="P:Netick.NetworkUnorderedList`1.Count">
<summary> <summary>
Always use NetworkBool instead of bool, for networked properties and RPC parameters. Gets the number of items contained in the list.
</summary>
</member>
<member name="M:Netick.NetworkUnorderedList`1.Clear">
<summary>
Removes all elements from the list.
</summary>
</member>
<member name="M:Netick.NetworkUnorderedList`1.Add(`0)">
<summary>
Adds an item to the list.
</summary>
<param name="item">The item to add.</param>
<returns>True if the item was added; otherwise, false.</returns>
</member>
<member name="M:Netick.NetworkUnorderedList`1.Remove(`0)">
<summary>
Removes an item from the list.
</summary>
<param name="item">The item to add.</param>
<returns>True if the item was removed; otherwise, false.</returns>
</member>
<member name="T:Netick.InterestManagement">
<summary>
Manages interest groups and area of interest (AoI) layers.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetworkRpc.InternalIsResim(Netick.NetickEngine)"> <member name="M:Netick.NetworkRpc.InternalIsResim(Netick.NetickEngine)">
@@ -521,7 +873,7 @@
Internal method. Never call this. Internal method. Never call this.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetworkRpc.InternalCreateRpc(Netick.NetickEngine,Netick.NetworkConnection,System.Int32,Netick.INetickNetworkScript,System.Boolean,Netick.RpcPeers,System.Int32)"> <member name="M:Netick.NetworkRpc.InternalCreateRpc(Netick.NetickEngine,System.Boolean,Netick.NetworkPlayerId,System.Int32,Netick.INetickNetworkScript,System.Boolean,Netick.RpcPeers,System.Int32)">
<summary> <summary>
Internal method. Never call this. Internal method. Never call this.
</summary> </summary>
@@ -531,11 +883,16 @@
Internal method. Never call this. Internal method. Never call this.
</summary> </summary>
</member> </member>
<member name="M:Netick.NetworkRpc.InternalCanInvoke(Netick.NetickEngine,Netick.Entity,Netick.RpcPeers,Netick.RpcPeers,System.Boolean,System.Int32)"> <member name="M:Netick.NetworkRpc.InternalCanInvokeWithRID(Netick.NetickEngine,Netick.Entity,Netick.RpcPeers,Netick.RpcPeers,System.Boolean,System.Int32,Netick.RpcContext@)">
<summary> <summary>
Internal method. Never call this. Internal method. Never call this.
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkBool">
<summary>
Always use NetworkBool instead of bool, for networked properties and RPC parameters.
</summary>
</member>
<member name="F:Netick.CustomizableSocketTransport._connectRequestBuffer"> <member name="F:Netick.CustomizableSocketTransport._connectRequestBuffer">
---------------------------------------------------- ----------------------------------------------------
</member> </member>
@@ -560,5 +917,35 @@
<para>Note: the low-level transport must implement <see cref="M:Netick.TransportConnection.SendUserData(System.IntPtr,System.Int32,Netick.TransportDeliveryMethod)"/> for this method to have an effect.</para> <para>Note: the low-level transport must implement <see cref="M:Netick.TransportConnection.SendUserData(System.IntPtr,System.Int32,Netick.TransportDeliveryMethod)"/> for this method to have an effect.</para>
</summary> </summary>
</member> </member>
<member name="T:Netick.NetworkString8">
<summary>
Represents a fixed-size network-serializable string with a maximum length of 8 characters.
</summary>
</member>
<member name="T:Netick.NetworkString16">
<summary>
Represents a fixed-size network-serializable string with a maximum length of 16 characters.
</summary>
</member>
<member name="T:Netick.NetworkString32">
<summary>
Represents a fixed-size network-serializable string with a maximum length of 32 characters.
</summary>
</member>
<member name="T:Netick.NetworkString64">
<summary>
Represents a fixed-size network-serializable string with a maximum length of 64 characters.
</summary>
</member>
<member name="T:Netick.NetworkString128">
<summary>
Represents a fixed-size network-serializable string with a maximum length of 128 characters.
</summary>
</member>
<member name="T:Netick.NetworkString256">
<summary>
Represents a fixed-size network-serializable string with a maximum length of 256 characters.
</summary>
</member>
</members> </members>
</doc> </doc>

View File

@@ -1,6 +1,6 @@
{ {
"name": "com.karrar.netick", "name": "com.karrar.netick",
"version": "0.14.7", "version": "0.14.12",
"displayName": "Netick", "displayName": "Netick",
"description": "A networking solution for Unity", "description": "A networking solution for Unity",
"unity": "2021.3", "unity": "2021.3",