protected virtual void HandleClientCallFunction(LiteNetLibMessageHandler messageHandler) { var reader = messageHandler.reader; FunctionReceivers receivers = (FunctionReceivers)reader.GetByte(); long connectId = 0; if (receivers == FunctionReceivers.Target) { connectId = reader.GetLong(); } var info = LiteNetLibElementInfo.DeserializeInfo(reader); LiteNetLibIdentity identity; if (Assets.SpawnedObjects.TryGetValue(info.objectId, out identity)) { if (receivers == FunctionReceivers.Server) { identity.ProcessNetFunction(info, reader, true); } else { var netFunction = identity.ProcessNetFunction(info, reader, false); if (receivers == FunctionReceivers.Target) { netFunction.Call(connectId); } else { netFunction.Call(receivers); } } } }
protected virtual void HandleServerCallFunction(LiteNetLibMessageHandler messageHandler) { var reader = messageHandler.reader; var info = LiteNetLibElementInfo.DeserializeInfo(reader); LiteNetLibIdentity identity; if (Assets.SpawnedObjects.TryGetValue(info.objectId, out identity)) { identity.ProcessNetFunction(info, reader, true); } }
protected virtual void HandleServerUpdateSyncList(LiteNetLibMessageHandler messageHandler) { // List updated at server, if this is host (client and server) then skip it. if (IsServer) { return; } var reader = messageHandler.reader; var info = LiteNetLibElementInfo.DeserializeInfo(reader); LiteNetLibIdentity identity; if (Assets.SpawnedObjects.TryGetValue(info.objectId, out identity)) { identity.ProcessSyncList(info, reader); } }