Skip to content

Commit f170341

Browse files
chore: api documentation phase 1 (#3156)
* update Adding and updating xml API documentation for ConnectionEvent and ConnectionEventData * update Adding XML API documentation for RpcTargetUse. * Update RpcTarget.cs Apply adjustments from backport to this.
1 parent 3c4f1cc commit f170341

File tree

2 files changed

+59
-1
lines changed

2 files changed

+59
-1
lines changed

com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs

+40-1
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,54 @@
1010

1111
namespace Unity.Netcode
1212
{
13-
13+
/// <summary>
14+
/// The connection event type set within <see cref="ConnectionEventData"/> to signify the type of connection event notification received.
15+
/// </summary>
16+
/// <remarks>
17+
/// <see cref="ConnectionEventData"/> is returned as a parameter of the <see cref="NetworkManager.OnConnectionEvent"/> event notification.
18+
/// <see cref="ClientConnected"/> and <see cref="ClientDisconnected"/> event types occur on the client-side of the newly connected client and on the server-side. <br />
19+
/// <see cref="PeerConnected"/> and <see cref="PeerDisconnected"/> event types occur on connected clients to notify that a new client (peer) has joined/connected.
20+
/// </remarks>
1421
public enum ConnectionEvent
1522
{
23+
/// <summary>
24+
/// This event is set on the client-side of the newly connected client and on the server-side.<br />
25+
/// </summary>
26+
/// <remarks>
27+
/// On the newly connected client side, the <see cref="ConnectionEventData.ClientId"/> will be the <see cref="NetworkManager.LocalClientId"/>.<br />
28+
/// On the server side, the <see cref="ConnectionEventData.ClientId"/> will be the ID of the client that just connected.
29+
/// </remarks>
1630
ClientConnected,
31+
/// <summary>
32+
/// This event is set on clients that are already connected to the session.
33+
/// </summary>
34+
/// <remarks>
35+
/// The <see cref="ConnectionEventData.ClientId"/> will be the ID of the client that just connected.
36+
/// </remarks>
1737
PeerConnected,
38+
/// <summary>
39+
/// This event is set on the client-side of the client that disconnected client and on the server-side.
40+
/// </summary>
41+
/// <remarks>
42+
/// On the disconnected client side, the <see cref="ConnectionEventData.ClientId"/> will be the <see cref="NetworkManager.LocalClientId"/>.<br />
43+
/// On the server side, this will be the ID of the client that disconnected.
44+
/// </remarks>
1845
ClientDisconnected,
46+
/// <summary>
47+
/// This event is set on clients that are already connected to the session.
48+
/// </summary>
49+
/// <remarks>
50+
/// The <see cref="ConnectionEventData.ClientId"/> will be the ID of the client that just disconnected.
51+
/// </remarks>
1952
PeerDisconnected
2053
}
2154

55+
/// <summary>
56+
/// Returned as a parameter of the <see cref="NetworkManager.OnConnectionEvent"/> event notification.
57+
/// </summary>
58+
/// <remarks>
59+
/// See <see cref="ConnectionEvent"/> for more details on the types of connection events received.
60+
/// </remarks>
2261
public struct ConnectionEventData
2362
{
2463
public ConnectionEvent EventType;

com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs

+19
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,28 @@ public enum SendTo
7979
SpecifiedInParams
8080
}
8181

82+
/// <summary>
83+
/// This parameter configures a performance optimization. This optimization is not valid in all situations.<br />
84+
/// Because BaseRpcTarget is a managed type, allocating a new one is expensive, as it puts pressure on the garbage collector.
85+
/// </summary>
86+
/// <remarks>
87+
/// When using a <see cref="Temp"/> allocation type for the RPC target(s):<br />
88+
/// You typically don't need to worry about persisting the <see cref="BaseRpcTarget"/> generated.
89+
/// When using a <see cref="Persistent"/> allocation type for the RPC target(s): <br />
90+
/// You will want to use <see cref="RpcTarget"/>, which returns <see cref="BaseRpcTarget"/>, during <see cref="NetworkBehaviour"/> initialization (i.e. <see cref="NetworkBehaviour.OnNetworkPostSpawn"/>) and it to a property.<br />
91+
/// Then, When invoking the RPC, you would use your <see cref="BaseRpcTarget"/> which is a persisted allocation of a given set of client identifiers.
92+
/// !! Important !!<br />
93+
/// You will want to invoke <see cref="BaseRpcTarget.Dispose"/> of any persisted properties created via <see cref="RpcTarget"/> when despawning or destroying the associated <see cref="NetworkBehaviour"/> component's <see cref="NetworkObject"/>. Not doing so will result in small memory leaks.
94+
/// </remarks>
8295
public enum RpcTargetUse
8396
{
97+
/// <summary>
98+
/// Creates a temporary <see cref="BaseRpcTarget"/> used for the frame an <see cref="RpcAttribute"/> decorated method is invoked.
99+
/// </summary>
84100
Temp,
101+
/// <summary>
102+
/// Creates a persisted <see cref="BaseRpcTarget"/> that does not change and will persist until <see cref="BaseRpcTarget.Dispose"/> is called.
103+
/// </summary>
85104
Persistent
86105
}
87106

0 commit comments

Comments
 (0)