private void Update() { UpdateTouchMode(); switch (ControlMode) { case Mode.CameraMovement: CamCtrl.UpdateCamera(); break; case Mode.Selecting: // 1) on hit => selecting mode // 2) else camera movement RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // | Input.GetTouch(0).position if (Physics.Raycast(ray, out hit)) { if (_currentSelected == null) { _currentSelected = hit.transform.gameObject; SelCtrl.ToggleAddToList(_currentSelected); } } else { _currentSelected = null; // move camera if nothing has been selected at first touch if (SelCtrl.Selected.IsEmpty()) { ControlMode = Mode.CameraMovement; CamCtrl.UpdateCamera(); } } break; case Mode.Idle: default: if (_currentSelected != null) { SelCtrl.FinalTarget(_currentSelected); _currentSelected = null; } else { SelCtrl.DeselectAll(); } break; } }
//Update the right player public void Update() { if (players != null && players.Count > 0) { InputManager.InputPkg pkg = inputMan.GetInputs(); players[playerTurn - 1].UpdatePlayer(pkg); UIManager.Instance.Update(); moveCam.UpdateCamera(pkg); } }