nthybrid: OnServerToClient checks for host mode first to avoid noise!

This commit is contained in:
miwarnec 2024-11-04 11:13:26 +01:00
parent c8c632ce6c
commit 93cc81707a

View File

@ -428,6 +428,17 @@ void RpcServerToClientDelta_Rotation(byte baselineTick, Quaternion rotation)
// server broadcasts sync message to all clients // server broadcasts sync message to all clients
protected virtual void OnServerToClientDeltaSync(byte baselineTick, Vector3 position, Quaternion rotation)//, Vector3 scale) protected virtual void OnServerToClientDeltaSync(byte baselineTick, Vector3 position, Quaternion rotation)//, Vector3 scale)
{ {
// in host mode, the server sends rpcs to all clients.
// the host client itself will receive them too.
// -> host server is always the source of truth
// -> we can ignore any rpc on the host client
// => otherwise host objects would have ever growing clientBuffers
// (rpc goes to clients. if isServer is true too then we are host)
if (isServer) return;
// don't apply for local player with authority
if (IsClientWithAuthority) return;
// ensure this delta is for our last known baseline. // ensure this delta is for our last known baseline.
// we should never apply a delta on top of a wrong baseline. // we should never apply a delta on top of a wrong baseline.
if (baselineTick != lastDeserializedBaselineTick) if (baselineTick != lastDeserializedBaselineTick)
@ -444,17 +455,6 @@ protected virtual void OnServerToClientDeltaSync(byte baselineTick, Vector3 posi
return; return;
} }
// in host mode, the server sends rpcs to all clients.
// the host client itself will receive them too.
// -> host server is always the source of truth
// -> we can ignore any rpc on the host client
// => otherwise host objects would have ever growing clientBuffers
// (rpc goes to clients. if isServer is true too then we are host)
if (isServer) return;
// don't apply for local player with authority
if (IsClientWithAuthority) return;
// Debug.Log($"[{name}] Client: received delta for baseline #{baselineTick}"); // Debug.Log($"[{name}] Client: received delta for baseline #{baselineTick}");
// on the client, we receive rpcs for all entities. // on the client, we receive rpcs for all entities.