void Update() { if (!EventSystem.current.IsPointerOverGameObject()) { if (HexGameController.myTurn && !myUnit.isTraveling) { DoPathfinding(); if (Input.GetMouseButtonDown(1)) { DoMove(); } } else { currentCell = null; } } if (Input.GetKeyDown("space")) { myUnit.Jump(); photonView.RPC("GetJump", RpcTarget.Others, true); } // center camera to myUnit position if (Input.GetKeyDown(KeyCode.C)) { HexMapCamera.SetPosition(myUnit.Location); } // toggle camera following if (Input.GetKeyDown(KeyCode.V)) { following = !following; if (following) { HexMapCamera.SetPosition(myUnit.Location); switchToFollowing = true; } } // move camera if (switchToFollowing) { if (HexMapCamera.GetLocalPosition() == myUnit.transform.localPosition) { switchToFollowing = false; } } else if (following) { HexMapCamera.SetPosition(myUnit.transform.localPosition, true); } else { HexMapCamera.Move(); } // networking if (otherUnit) { if (UnitInfo.newPath) { DoMove(UnitInfo.Path); UnitInfo.newPath = false; } if (UnitInfo.Jump) { otherUnit.Jump(); UnitInfo.Jump = false; } } }