void Start() { p0Data = new Player0Data(); p1Data = new Player1Data(); connectionHintTxtObj = connectionHint.GetComponent <Text>(); connectionHintText = "Server connecting..."; DoOpen(); }
void DoOpen() { if (socket == null) { socket = IO.Socket(serverURL); socket.On(Socket.EVENT_CONNECT, () => { playerConnected = true; connectionHintText = "Waiting for another player..."; }); socket.On(Socket.EVENT_DISCONNECT, () => { playerConnected = false; connectionHintText = "Server disconnected."; }); socket.On(GetAnotherPlayerInterface(), (data) => { if (!anotherPlayerConnected) { anotherPlayerConnected = true; connectionHintText = ""; } string str = data.ToString(); if (LevelManage.currentPlayerId == 0) { p1Data = JsonConvert.DeserializeObject <Player1Data>(str); } else if (LevelManage.currentPlayerId == 1) { p0Data = JsonConvert.DeserializeObject <Player0Data>(str); } if (!p1Data.connected || !p0Data.connected) { anotherPlayerConnected = false; connectionHintText = "Lose the connection of the other player."; } }); } }
private void UpdateData(Character c) { if (playerId == 0) { networkingManage.p0Data.rotationAngle = transform.Find("SoundProber").localRotation.eulerAngles.y + 90; networkingManage.p0Data.emitRaycast = isEmittingRaycast; Player1Data p1Data = networkingManage.p1Data; if (p1Data.connected) { c.MoveTo(new Vector3( p1Data.positionX, transform.position.y, p1Data.positionZ )); c.YawTo(Quaternion.Euler(0, p1Data.rotationAngle, 0)); } } else if (playerId == 1) { Vector3 pos = transform.position; networkingManage.p1Data.positionX = pos.x; networkingManage.p1Data.positionZ = pos.z; networkingManage.p1Data.rotationAngle = transform.rotation.eulerAngles.y; Player0Data p0Data = networkingManage.p0Data; if (p0Data.connected) { RotateSoundProberTo(Quaternion.Euler(0, p0Data.rotationAngle, 0)); isEmittingRaycast = p0Data.emitRaycast; } } }