private void SortServerMessages(SNetworkMessage _message) { if (_message.type == EMessageType.Unknown) { Debug.LogError("Server received an Unknow message"); return; } if (_message.type == EMessageType.Instantiate) { SMessageInstantiate msg = JsonUtility.FromJson <SMessageInstantiate>(_message.JSON); msg.GUID = Guid.NewGuid().ToString(); Debug.Log($"Client {_message.clientID} asked the Server to spawn {msg.prefabName} and register GUID({msg.GUID}) for everyone."); SendNetworkMessageToAllClients(new SNetworkMessage(EMessageType.Instantiate, JsonUtility.ToJson(msg))); } if (_message.type == EMessageType.UpdateTransform) { SendNetworkMessageToAllClients(_message); } //only for Chess if (_message.type == EMessageType.Grab || _message.type == EMessageType.Ungrab || _message.type == EMessageType.UpdateGrab || _message.type == EMessageType.UpdateHand) { SendNetworkMessageToAllClients(_message); } }
private void SortClientMessages(SNetworkMessage _message) { if (_message.type == EMessageType.Unknown) { Debug.LogError("Server sent an Unknow message"); return; } if (_message.type == EMessageType.ConnectionSuccessful) { clientID = int.Parse(_message.JSON); Debug.Log($"The Server told me I'm client n°{clientID}"); OnClientConnected?.Invoke(); isConnected = true; } if (_message.type == EMessageType.Instantiate) { SMessageInstantiate msg = JsonUtility.FromJson <SMessageInstantiate>(_message.JSON); InstantiateSyncObject(msg.prefabName, msg.GUID, msg.position, msg.rotation, msg.parentName); return; } if (_message.type == EMessageType.UpdateTransform) { SMessageUpdateTransform msg = JsonUtility.FromJson <SMessageUpdateTransform>(_message.JSON); NetworkSynchronizer.Instance.SyncDown(msg.GUID, msg.position, msg.rotation, msg.scale); return; } //only for Chess if (_message.type == EMessageType.Grab) { NetworkSynchronizer.Instance.GetSMBByGUID(_message.JSON).GetComponent <Piece>().Grab(); } if (_message.type == EMessageType.Ungrab) { NetworkSynchronizer.Instance.GetSMBByGUID(_message.JSON).GetComponent <Piece>().UnGrab(); } if (_message.type == EMessageType.UpdateGrab) { SMessageVector3 msg = JsonUtility.FromJson <SMessageVector3>(_message.JSON); NetworkSynchronizer.Instance.GetSMBByGUID(msg.GUID).GetComponent <Piece>().SyncDownGrab(msg.vector); } if (_message.type == EMessageType.UpdateHand) { NetworkSynchronizer.Instance.SyncHandsDown(JsonUtility.FromJson <SMessageHand>(_message.JSON)); } }