Skip to content

Commit 72b61ca

Browse files
committed
feat: Updated to use new universal RPCs
1 parent 95d1c12 commit 72b61ca

File tree

8 files changed

+42
-39
lines changed

8 files changed

+42
-39
lines changed

Assets/Scripts/Gameplay/DebugCheats/DebugCheatsManager.cs

+22-22
Original file line numberDiff line numberDiff line change
@@ -130,24 +130,24 @@ public void GoToPostGame()
130130
GoToPostGameServerRpc();
131131
}
132132

133-
[ServerRpc(RequireOwnership = false)]
134-
void SpawnEnemyServerRpc(ServerRpcParams serverRpcParams = default)
133+
[Rpc(SendTo.Server, RequireOwnership = false)]
134+
void SpawnEnemyServerRpc(RpcParams serverRpcParams = default)
135135
{
136136
var newEnemy = Instantiate(m_EnemyPrefab);
137137
newEnemy.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId, true);
138138
PublishCheatUsedMessage(serverRpcParams.Receive.SenderClientId, "SpawnEnemy");
139139
}
140140

141-
[ServerRpc(RequireOwnership = false)]
142-
void SpawnBossServerRpc(ServerRpcParams serverRpcParams = default)
141+
[Rpc(SendTo.Server, RequireOwnership = false)]
142+
void SpawnBossServerRpc(RpcParams serverRpcParams = default)
143143
{
144144
var newEnemy = Instantiate(m_BossPrefab);
145145
newEnemy.SpawnWithOwnership(NetworkManager.Singleton.LocalClientId, true);
146146
PublishCheatUsedMessage(serverRpcParams.Receive.SenderClientId, "SpawnBoss");
147147
}
148148

149-
[ServerRpc(RequireOwnership = false)]
150-
void KillTargetServerRpc(ServerRpcParams serverRpcParams = default)
149+
[Rpc(SendTo.Server, RequireOwnership = false)]
150+
void KillTargetServerRpc(RpcParams serverRpcParams = default)
151151
{
152152
ulong clientId = serverRpcParams.Receive.SenderClientId;
153153
var playerServerCharacter = PlayerServerCharacter.GetPlayerServerCharacter(clientId);
@@ -171,8 +171,8 @@ void KillTargetServerRpc(ServerRpcParams serverRpcParams = default)
171171
}
172172
}
173173

174-
[ServerRpc(RequireOwnership = false)]
175-
void KillAllEnemiesServerRpc(ServerRpcParams serverRpcParams = default)
174+
[Rpc(SendTo.Server, RequireOwnership = false)]
175+
void KillAllEnemiesServerRpc(RpcParams serverRpcParams = default)
176176
{
177177
foreach (var serverCharacter in FindObjectsOfType<ServerCharacter>())
178178
{
@@ -187,8 +187,8 @@ void KillAllEnemiesServerRpc(ServerRpcParams serverRpcParams = default)
187187
PublishCheatUsedMessage(serverRpcParams.Receive.SenderClientId, "KillAllEnemies");
188188
}
189189

190-
[ServerRpc(RequireOwnership = false)]
191-
void ToggleGodModeServerRpc(ServerRpcParams serverRpcParams = default)
190+
[Rpc(SendTo.Server, RequireOwnership = false)]
191+
void ToggleGodModeServerRpc(RpcParams serverRpcParams = default)
192192
{
193193
var clientId = serverRpcParams.Receive.SenderClientId;
194194
var playerServerCharacter = PlayerServerCharacter.GetPlayerServerCharacter(clientId);
@@ -199,8 +199,8 @@ void ToggleGodModeServerRpc(ServerRpcParams serverRpcParams = default)
199199
}
200200
}
201201

202-
[ServerRpc(RequireOwnership = false)]
203-
void HealPlayerServerRpc(ServerRpcParams serverRpcParams = default)
202+
[Rpc(SendTo.Server, RequireOwnership = false)]
203+
void HealPlayerServerRpc(RpcParams serverRpcParams = default)
204204
{
205205
var clientId = serverRpcParams.Receive.SenderClientId;
206206
var playerServerCharacter = PlayerServerCharacter.GetPlayerServerCharacter(clientId);
@@ -222,8 +222,8 @@ void HealPlayerServerRpc(ServerRpcParams serverRpcParams = default)
222222
}
223223
}
224224

225-
[ServerRpc(RequireOwnership = false)]
226-
void ToggleSuperSpeedServerRpc(ServerRpcParams serverRpcParams = default)
225+
[Rpc(SendTo.Server, RequireOwnership = false)]
226+
void ToggleSuperSpeedServerRpc(RpcParams serverRpcParams = default)
227227
{
228228
var clientId = serverRpcParams.Receive.SenderClientId;
229229
foreach (var playerServerCharacter in PlayerServerCharacter.GetPlayerServerCharacters())
@@ -237,8 +237,8 @@ void ToggleSuperSpeedServerRpc(ServerRpcParams serverRpcParams = default)
237237
PublishCheatUsedMessage(clientId, "ToggleSuperSpeed");
238238
}
239239

240-
[ServerRpc(RequireOwnership = false)]
241-
void ToggleTeleportModeServerRpc(ServerRpcParams serverRpcParams = default)
240+
[Rpc(SendTo.Server, RequireOwnership = false)]
241+
void ToggleTeleportModeServerRpc(RpcParams serverRpcParams = default)
242242
{
243243
var clientId = serverRpcParams.Receive.SenderClientId;
244244
foreach (var playerServerCharacter in PlayerServerCharacter.GetPlayerServerCharacters())
@@ -252,8 +252,8 @@ void ToggleTeleportModeServerRpc(ServerRpcParams serverRpcParams = default)
252252
PublishCheatUsedMessage(serverRpcParams.Receive.SenderClientId, "ToggleTeleportMode");
253253
}
254254

255-
[ServerRpc(RequireOwnership = false)]
256-
void ToggleDoorServerRpc(ServerRpcParams serverRpcParams = default)
255+
[Rpc(SendTo.Server, RequireOwnership = false)]
256+
void ToggleDoorServerRpc(RpcParams serverRpcParams = default)
257257
{
258258
if (SwitchedDoor != null)
259259
{
@@ -266,8 +266,8 @@ void ToggleDoorServerRpc(ServerRpcParams serverRpcParams = default)
266266
}
267267
}
268268

269-
[ServerRpc(RequireOwnership = false)]
270-
void TogglePortalsServerRpc(ServerRpcParams serverRpcParams = default)
269+
[Rpc(SendTo.Server, RequireOwnership = false)]
270+
void TogglePortalsServerRpc(RpcParams serverRpcParams = default)
271271
{
272272
foreach (var portal in FindObjectsOfType<EnemyPortal>())
273273
{
@@ -288,8 +288,8 @@ void TogglePortalsServerRpc(ServerRpcParams serverRpcParams = default)
288288
PublishCheatUsedMessage(serverRpcParams.Receive.SenderClientId, "TogglePortals");
289289
}
290290

291-
[ServerRpc(RequireOwnership = false)]
292-
void GoToPostGameServerRpc(ServerRpcParams serverRpcParams = default)
291+
[Rpc(SendTo.Server, RequireOwnership = false)]
292+
void GoToPostGameServerRpc(RpcParams serverRpcParams = default)
293293
{
294294
SceneLoaderWrapper.Instance.LoadScene("PostGame", useNetworkSceneManager: true);
295295
PublishCheatUsedMessage(serverRpcParams.Receive.SenderClientId, "GoToPostGame");

Assets/Scripts/Gameplay/GameState/NetworkCharSelection.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ private void Awake()
105105
/// <summary>
106106
/// RPC to notify the server that a client has chosen a seat.
107107
/// </summary>
108-
[ServerRpc(RequireOwnership = false)]
108+
[Rpc(SendTo.Server, RequireOwnership = false)]
109109
public void ChangeSeatServerRpc(ulong clientId, int seatIdx, bool lockedIn)
110110
{
111111
OnClientChangedSeat?.Invoke(clientId, seatIdx, lockedIn);

Assets/Scripts/Gameplay/GameplayObjects/Character/ClientCharacter.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public class ClientCharacter : NetworkBehaviour
6969
/// /// Server to Client RPC that broadcasts this action play to all clients.
7070
/// </summary>
7171
/// <param name="data"> Data about which action to play and its associated details. </param>
72-
[ClientRpc]
72+
[Rpc(SendTo.ClientsAndHost)]
7373
public void RecvDoActionClientRPC(ActionRequestData data)
7474
{
7575
ActionRequestData data1 = data;
@@ -79,7 +79,7 @@ public void RecvDoActionClientRPC(ActionRequestData data)
7979
/// <summary>
8080
/// This RPC is invoked on the client when the active action FXs need to be cancelled (e.g. when the character has been stunned)
8181
/// </summary>
82-
[ClientRpc]
82+
[Rpc(SendTo.ClientsAndHost)]
8383
public void RecvCancelAllActionsClientRpc()
8484
{
8585
m_ClientActionViz.CancelAllActions();
@@ -88,7 +88,7 @@ public void RecvCancelAllActionsClientRpc()
8888
/// <summary>
8989
/// This RPC is invoked on the client when active action FXs of a certain type need to be cancelled (e.g. when the Stealth action ends)
9090
/// </summary>
91-
[ClientRpc]
91+
[Rpc(SendTo.ClientsAndHost)]
9292
public void RecvCancelActionsByPrototypeIDClientRpc(ActionID actionPrototypeID)
9393
{
9494
m_ClientActionViz.CancelAllActionsWithSamePrototypeID(actionPrototypeID);
@@ -98,7 +98,7 @@ public void RecvCancelActionsByPrototypeIDClientRpc(ActionID actionPrototypeID)
9898
/// Called on all clients when this character has stopped "charging up" an attack.
9999
/// Provides a value between 0 and 1 inclusive which indicates how "charged up" the attack ended up being.
100100
/// </summary>
101-
[ClientRpc]
101+
[Rpc(SendTo.ClientsAndHost)]
102102
public void RecvStopChargingUpClientRpc(float percentCharged)
103103
{
104104
m_ClientActionViz.OnStoppedChargingUp(percentCharged);

Assets/Scripts/Gameplay/GameplayObjects/Character/ServerCharacter.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ public override void OnNetworkDespawn()
188188
/// RPC to send inputs for this character from a client to a server.
189189
/// </summary>
190190
/// <param name="movementTarget">The position which this character should move towards.</param>
191-
[ServerRpc]
191+
[Rpc(SendTo.Server)]
192192
public void SendCharacterInputServerRpc(Vector3 movementTarget)
193193
{
194194
if (LifeState == LifeState.Alive && !m_Movement.IsPerformingForcedMovement())
@@ -213,7 +213,7 @@ public void SendCharacterInputServerRpc(Vector3 movementTarget)
213213
/// Client->Server RPC that sends a request to play an action.
214214
/// </summary>
215215
/// <param name="data">Data about which action to play and its associated details. </param>
216-
[ServerRpc]
216+
[Rpc(SendTo.Server)]
217217
public void RecvDoActionServerRPC(ActionRequestData data)
218218
{
219219
ActionRequestData data1 = data;
@@ -231,7 +231,7 @@ public void RecvDoActionServerRPC(ActionRequestData data)
231231
/// <summary>
232232
/// Called on server when the character's client decides they have stopped "charging up" an attack.
233233
/// </summary>
234-
[ServerRpc]
234+
[Rpc(SendTo.Server)]
235235
public void RecvStopChargingUpServerRpc()
236236
{
237237
m_ServerActionPlayer.OnGameplayActivity(Action.GameplayActivity.StoppedChargingUp);

Assets/Scripts/Gameplay/GameplayObjects/Projectiles/PhysicsProjectile.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ void DetectCollisions()
224224
}
225225
}
226226

227-
[ClientRpc]
227+
[Rpc(SendTo.ClientsAndHost)]
228228
private void RecvHitEnemyClientRPC(ulong enemyId)
229229
{
230230
//in the future we could do quite fancy things, like deparenting the Graphics Arrow and parenting it to the target.

Assets/Scripts/Gameplay/GameplayObjects/TossedItem.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ void Detonate()
118118
m_Detonated = true;
119119
}
120120

121-
[ClientRpc]
121+
[Rpc(SendTo.ClientsAndHost)]
122122
void DetonateClientRpc()
123123
{
124124
detonatedCallback?.Invoke();

Assets/Scripts/Utils/NetworkOverlay/NetworkStats.cs

+9-6
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public ExponentialMovingAverageCalculator(float average)
5959

6060
Dictionary<int, float> m_PingHistoryStartTimes = new Dictionary<int, float>();
6161

62-
ClientRpcParams m_PongClientParams;
62+
RpcParams m_PongClientParams;
6363

6464
string m_TextToDisplay;
6565

@@ -77,7 +77,7 @@ public override void OnNetworkSpawn()
7777
CreateNetworkStatsText();
7878
}
7979

80-
m_PongClientParams = new ClientRpcParams() { Send = new ClientRpcSendParams() { TargetClientIds = new[] { OwnerClientId } } };
80+
m_PongClientParams = RpcTarget.Group(new[] { OwnerClientId }, RpcTargetUse.Persistent);
8181
}
8282

8383
// Creating a UI text object and add it to NetworkOverlay canvas
@@ -100,6 +100,7 @@ void FixedUpdate()
100100
{
101101
// We could have had a ping/pong where the ping sends the pong and the pong sends the ping. Issue with this
102102
// is the higher the latency, the lower the sampling would be. We need pings to be sent at a regular interval
103+
Debug.Log($"Sending ping {m_CurrentRTTPingId}");
103104
PingServerRPC(m_CurrentRTTPingId);
104105
m_PingHistoryStartTimes[m_CurrentRTTPingId] = Time.realtimeSinceStartup;
105106
m_CurrentRTTPingId++;
@@ -146,15 +147,17 @@ void FixedUpdate()
146147
}
147148
}
148149

149-
[ServerRpc]
150-
void PingServerRPC(int pingId, ServerRpcParams serverParams = default)
150+
[Rpc(SendTo.Server)]
151+
void PingServerRPC(int pingId, RpcParams serverParams = default)
151152
{
153+
Debug.Log($"Server responding to ping {pingId}");
152154
PongClientRPC(pingId, m_PongClientParams);
153155
}
154156

155-
[ClientRpc]
156-
void PongClientRPC(int pingId, ClientRpcParams clientParams = default)
157+
[Rpc(SendTo.SpecifiedInParams)]
158+
void PongClientRPC(int pingId, RpcParams clientParams = default)
157159
{
160+
Debug.Log($"Got reply to ping {pingId}");
158161
var startTime = m_PingHistoryStartTimes[pingId];
159162
m_PingHistoryStartTimes.Remove(pingId);
160163
m_BossRoomRTT.NextValue(Time.realtimeSinceStartup - startTime);

Packages/manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"com.unity.learn.iet-framework": "3.1.3",
1111
"com.unity.memoryprofiler": "1.1.0",
1212
"com.unity.multiplayer.tools": "2.0.0-pre.3",
13-
"com.unity.netcode.gameobjects": "1.7.1",
13+
"com.unity.netcode.gameobjects": "1.8.0",
1414
"com.unity.performance.profile-analyzer": "1.2.2",
1515
"com.unity.postprocessing": "3.2.2",
1616
"com.unity.render-pipelines.universal": "14.0.9",

0 commit comments

Comments
 (0)