コード例 #1
0
    private void Update()
    {
        Vector3 mousePosition = Input.mousePosition;
        bool    mouseValid    = (mousePosition.y <= screen.y * 1.05f && mousePosition.y >= screen.y * -0.05f &&
                                 mousePosition.x <= screen.x * 1.05f && mousePosition.x >= screen.x * -0.05f);

        if (!mouseValid)
        {
            return;
        }

        //movement
        if (mousePosition.y > screen.y * 0.95f)
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }
        else if (mousePosition.y < screen.y * 0.05f)
        {
            OnMoveInput?.Invoke(-Vector3.forward);
        }

        if (mousePosition.x > screen.x * 0.95f)
        {
            OnMoveInput?.Invoke(Vector3.right);
        }
        else if (mousePosition.x < screen.x * 0.05f)
        {
            OnMoveInput?.Invoke(-Vector3.right);
        }

        //rotation
        if (Input.GetMouseButtonDown(1))
        {
            mousePositionOnRotateStart = mousePosition.x;
        }
        else if (Input.GetMouseButton(1))
        {
            if (mousePosition.x < mousePositionOnRotateStart)
            {
                OnRotateInput?.Invoke(-1f);
            }
            else if (mousePosition.x > mousePositionOnRotateStart)
            {
                OnRotateInput?.Invoke(1f);
            }
        }

        // zoom
        if (Input.mouseScrollDelta.y > 0)
        {
            OnZoomInput?.Invoke(-3f);
        }
        else if (Input.mouseScrollDelta.y < 0)
        {
            OnZoomInput?.Invoke(3f);
        }
    }
コード例 #2
0
 private void Rotations()
 {
     if (Input.GetKey(KeyCode.E))
     {
         OnRotateInput?.Invoke(-1f);
     }
     if (Input.GetKey(KeyCode.Q))
     {
         OnRotateInput?.Invoke(1f);
     }
 }
コード例 #3
0
    private void Update()
    {
        if (Input.GetKey(KeyCode.Z))
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }
        if (Input.GetKey(KeyCode.S))
        {
            OnMoveInput?.Invoke(Vector3.back);
        }
        if (Input.GetKey(KeyCode.Q))
        {
            OnMoveInput?.Invoke(Vector3.left);
        }
        if (Input.GetKey(KeyCode.D))
        {
            OnMoveInput?.Invoke(Vector3.right);
        }
        if (Input.GetKey(KeyCode.LeftShift))
        {
            OnMoveInput?.Invoke(Vector3.up);
        }
        if (Input.GetKey(KeyCode.LeftControl))
        {
            OnMoveInput?.Invoke(Vector3.down);
        }

        if (Input.GetKey(KeyCode.A))
        {
            OnRotateInput?.Invoke(Vector2.left);
        }
        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(Vector2.right);
        }
        if (Input.GetKey(KeyCode.R))
        {
            OnRotateInput?.Invoke(Vector2.up);
        }
        if (Input.GetKey(KeyCode.F))
        {
            OnRotateInput?.Invoke(Vector2.down);
        }

        if (Input.GetKey(KeyCode.X))
        {
            OnZoomInput?.Invoke(1f);
        }
        if (Input.GetKey(KeyCode.W))
        {
            OnZoomInput?.Invoke(-1f);
        }
    }
コード例 #4
0
    private void Update()
    {
        Vector3 mp         = Input.mousePosition;
        bool    mouseValid = mp.y <= screen.y && mp.y >= 0 && mp.x <= screen.x && mp.x >= 0;

        if (!mouseValid)
        {
            return;
        }

        if (Input.GetMouseButtonUp(1))
        {
            previousMousePosition = null;
        }
        else if (Input.GetMouseButton(1))
        {
            if (previousMousePosition.HasValue)
            {
                var rot = Vector2.zero;

                if (previousMousePosition?.x - mp.x > deadBand)
                {
                    rot += Vector2.left * rotateMultiplier;
                }
                else if (mp.x - previousMousePosition?.x > deadBand)
                {
                    rot += Vector2.right * rotateMultiplier;
                }

                if (previousMousePosition?.y - mp.y > deadBand)
                {
                    rot += Vector2.up * rotateMultiplier;
                }
                else if (mp.y - previousMousePosition?.y > deadBand)
                {
                    rot += Vector2.down * rotateMultiplier;
                }

                OnRotateInput?.Invoke(rot);
            }

            previousMousePosition = new Vector2(mp.x, mp.y);
        }

        if (Input.mouseScrollDelta.y > 0)
        {
            OnZoomInput?.Invoke(-zoomMultiplier);
        }
        else if (Input.mouseScrollDelta.y < 0)
        {
            OnZoomInput?.Invoke(zoomMultiplier);
        }
    }
コード例 #5
0
        private void ProcessRotationInput()
        {
            _currentLookDirection.x = Input.GetAxisRaw("XBoxRightStickHorizontal");
            _currentLookDirection.y = Input.GetAxisRaw("XBoxRightStickVertical");

            if (_currentLookDirection != _lastLookDirection)
            {
                OnRotateInput?.Invoke(_currentLookDirection);
            }

            _lastLookDirection = _currentLookDirection;
        }
コード例 #6
0
    // Update is called once per frame
    private void Update()
    {
        if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
        {
            return;
        }

        // Handle camera pan (WASD)
        if (Input.GetKey(KeyCode.W))
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }

        if (Input.GetKey(KeyCode.S))
        {
            OnMoveInput?.Invoke(-Vector3.forward);
        }

        if (Input.GetKey(KeyCode.A))
        {
            OnMoveInput?.Invoke(-Vector3.right);
        }

        if (Input.GetKey(KeyCode.D))
        {
            OnMoveInput?.Invoke(Vector3.right);
        }

        // Handle Rotation (QE)
        if (Input.GetKey(KeyCode.Q))
        {
            OnRotateInput?.Invoke(1f);
        }

        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(-1f);
        }

        // Handle Zoom (ZX)
        if (Input.GetKey(KeyCode.Z))
        {
            OnZoomInput?.Invoke(-1f);
        }

        if (Input.GetKey(KeyCode.X))
        {
            OnZoomInput?.Invoke(1f);
        }
    }
コード例 #7
0
    // Update is called once per frame
    void Update()
    {
        //Move
        if (Input.GetKey(KeyCode.UpArrow))
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            OnMoveInput?.Invoke(-Vector3.forward);
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            OnMoveInput?.Invoke(-Vector3.right);
        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            OnMoveInput?.Invoke(Vector3.right);
        }

        //rotate
        if (Input.GetKey(KeyCode.Q))
        {
            OnRotateInput?.Invoke(-1f);
        }
        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(1f);
        }

        //zoom
        if (Input.GetKey(KeyCode.R))
        {
            OnZoomInput?.Invoke(-1f);
        }
        if (Input.GetKey(KeyCode.T))
        {
            OnZoomInput?.Invoke(1f);
        }


        if (Input.GetKey(KeyCode.Alpha1))
        {
            OnFocusCharacter?.Invoke(true);
        }
    }
コード例 #8
0
    void Update()
    {
        // Direction
        if (Input.GetKey(KeyCode.W))
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }

        if (Input.GetKey(KeyCode.S))
        {
            OnMoveInput?.Invoke(-Vector3.forward);
        }

        if (Input.GetKey(KeyCode.A))
        {
            OnMoveInput?.Invoke(-Vector3.right);
        }

        if (Input.GetKey(KeyCode.D))
        {
            OnMoveInput?.Invoke(Vector3.right);
        }

        // Rotation
        if (Input.GetKey(KeyCode.Q))
        {
            OnRotateInput?.Invoke(1f);
        }

        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(-1f);
        }

        // Zoom
        if (Input.GetKey(KeyCode.Z))
        {
            OnZoomInput?.Invoke(-1f);
        }

        if (Input.GetKey(KeyCode.X))
        {
            OnZoomInput?.Invoke(1f);
        }
    }
コード例 #9
0
 private void Rotation(Vector3 mp)
 {
     if (Input.GetMouseButtonDown(1))
     {
         mousePositionOnRotateStart = mp.x;
     }
     else if (Input.GetMouseButton(1))
     {
         if (mp.x < mousePositionOnRotateStart)
         {
             OnRotateInput?.Invoke(-1f);
         }
         else if (mp.x > mousePositionOnRotateStart)
         {
             OnRotateInput?.Invoke(1f);
         }
     }
 }
コード例 #10
0
    void Update()
    {
        //Camera Movement
        if (Input.GetKey(KeyCode.W))
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }
        if (Input.GetKey(KeyCode.S))
        {
            OnMoveInput?.Invoke(Vector3.back);
        }
        if (Input.GetKey(KeyCode.A))
        {
            OnMoveInput?.Invoke(Vector3.left);
        }
        if (Input.GetKey(KeyCode.D))
        {
            OnMoveInput?.Invoke(Vector3.right);
        }

        //Camera Rotation
        if (Input.GetKey(KeyCode.Q))
        {
            OnRotateInput?.Invoke(-1f);
        }
        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(1f);
        }

        //Camera Zoom
        if (Input.GetKey(KeyCode.Z))
        {
            OnZoomInput?.Invoke(-1f);
        }
        if (Input.GetKey(KeyCode.X))
        {
            OnZoomInput?.Invoke(1f);
        }
    }
コード例 #11
0
    // Update is called once per frame
    void Update()
    {
        // Movement control transforming
        if (Input.GetKey(KeyCode.W))
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }
        if (Input.GetKey(KeyCode.S))
        {
            OnMoveInput?.Invoke(-Vector3.forward);
        }
        if (Input.GetKey(KeyCode.A))
        {
            OnMoveInput?.Invoke(-Vector3.right);
        }
        if (Input.GetKey(KeyCode.D))
        {
            OnMoveInput?.Invoke(Vector3.right);
        }

        // Rotation input
        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(-1f);
        }
        if (Input.GetKey(KeyCode.Q))
        {
            OnRotateInput?.Invoke(1f);
        }

        // Zoom input
        if (Input.GetKey(KeyCode.X))
        {
            OnZoomInput?.Invoke(1f);
        }
        if (Input.GetKey(KeyCode.Z))
        {
            OnZoomInput?.Invoke(-1f);
        }
    }
コード例 #12
0
    private void Update()
    {
        if (Input.GetAxis("Vertical") > 0)
        {
            OnMoveInput?.Invoke(Vector3.forward);
        }
        if (Input.GetAxis("Horizontal") < 0)
        {
            OnMoveInput?.Invoke(-Vector3.right);
        }
        if (Input.GetAxis("Vertical") < 0)
        {
            OnMoveInput?.Invoke(-Vector3.forward);
        }
        if (Input.GetAxis("Horizontal") > 0)
        {
            OnMoveInput?.Invoke(Vector3.right);
        }

        if (Input.GetKey(KeyCode.Q))
        {
            OnRotateInput?.Invoke(1f);
        }
        if (Input.GetKey(KeyCode.E))
        {
            OnRotateInput?.Invoke(-1f);
        }

        if (Input.GetKey(KeyCode.Z))
        {
            OnZoomInput?.Invoke(-1f);
        }
        if (Input.GetKey(KeyCode.X))
        {
            OnZoomInput?.Invoke(1f);
        }
    }