示例#1
0
    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;
    }