public override void InputHandler() { // TODO check for availabilty var ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit) && hit.collider.tag == "Floor") { float anlge = Vector3.Angle( avatar.transform.forward, hit.point - avatar.transform.position ); dif += Mathf.Abs(anlge); avatar.LookAtSmooth(hit.point); ControllingFCursor(hit.point); if (dif > 24) // Dump // 24• seems small, but enough { //Confirmed = true; DEFAULT state of Confirmed ChangeStateTo_NewLookAction(hit.point); return; } if (Input.GetMouseButtonDown(0)) { // TODO spawn new cursors ChangeFCursotState(GameManager.UI.FloorCursorState.Setted); turn.actions_Upside.Add(new LookArountAction(turn, hit.point)); // Dump ChangeStateTo_WeaponAct(hit.point); return; } } if (Input.GetKeyDown(KeyCode.R)) { turn.actions_Upside.Add(new LookArountAction(turn, hit.point)); // Dump ChangeStateTo_Reload(hit.point); } Timer += Time.deltaTime; }