void Start() { player = GetComponent <CharacterController>(); PlayerNetwork = GetComponent <playerNetwork>(); GameController = GameObject.Find("_GameController").GetComponent <GameController>(); DodgeballManager = GameController.GetComponentInChildren <dodgeballManager>(); isGrounded = true; isJumping = false; isDashing = false; hasDodgeball = false; Cursor.lockState = CursorLockMode.Locked; Cursor.visible = (false); }
void Start() { io = GetComponent <SocketIO.SocketIOComponent>(); dodgeballManager = transform.parent.GetComponentInChildren <dodgeballManager>(); io.On("joined-game", (SocketIO.SocketIOEvent e) => { JSONObject data = e.data; Debug.Log("Joined game " + data); }); io.On("player-position-update", (SocketIO.SocketIOEvent e) => { try { JSONObject data = e.data; string playerID = data.GetField("id").ToString(); JSONObject playerPos = data.GetField("position"); Vector3 newPos = new Vector3( float.Parse(playerPos.GetField("x").ToString()), float.Parse(playerPos.GetField("y").ToString()), float.Parse(playerPos.GetField("z").ToString()) ); JSONObject playerRot = data.GetField("rotation"); Quaternion newRot = new Quaternion( float.Parse(playerRot.GetField("x").ToString()), float.Parse(playerRot.GetField("y").ToString()), float.Parse(playerRot.GetField("z").ToString()), float.Parse(playerRot.GetField("w").ToString()) ); player p = getPlayer(playerID); if (p != null) { p.newPos = newPos; p.newRot = newRot; } } catch (Exception err) { Debug.LogError("player-position-update-exception: " + err); } }); io.On("dodgeball-thrown", (SocketIO.SocketIOEvent e) => { JSONObject data = e.data; JSONObject posObj = data.GetField("position"); JSONObject dirObj = data.GetField("direction"); int ID = int.Parse(data.GetField("ID").ToString()); string playerID = data.GetField("playerID").ToString(); Vector3 position = new Vector3( float.Parse(posObj.GetField("x").ToString()), float.Parse(posObj.GetField("y").ToString()), float.Parse(posObj.GetField("z").ToString()) ); Vector3 direction = new Vector3( float.Parse(dirObj.GetField("x").ToString()), float.Parse(dirObj.GetField("y").ToString()), float.Parse(dirObj.GetField("z").ToString()) ); dodgeballManager.onNetworkThrowBall(position, direction); getPlayer(playerID).network.onThrowDodgeball(); }); io.On("dodgeball-pickup", (SocketIO.SocketIOEvent e) => { JSONObject data = e.data; string playerID = data.GetField("playerID").ToString(); player foundPlayer = getPlayer(playerID); foundPlayer.network.onPickupDodgeball(); }); io.On("player-join", (SocketIO.SocketIOEvent e) => { Debug.Log("new player join"); JSONObject data = e.data; player newPlayer = new player(); newPlayer.id = data.GetField("playerID").ToString(); GameObject playerObj = GameObject.Instantiate(playerPrefab, new Vector3(0f, 0f, 0f), Quaternion.identity); newPlayer.transform = playerObj.transform; newPlayer.network = playerObj.GetComponent <networkPlayerController>(); otherPlayers.Add(newPlayer); }); io.On("player-disconnect", (SocketIO.SocketIOEvent e) => { JSONObject data = e.data; string id = data.GetField("id").ToString(); player p = otherPlayers.Find(x => x.id == id); GameObject.Destroy(p.transform.gameObject); otherPlayers.Remove(p); }); io.On("player-death", (SocketIO.SocketIOEvent e) => { Debug.Log("player death"); }); }