예제 #1
0
파일: Fly.cs 프로젝트: PureFoxCore/PureMod
        public override void OnUpdate()
        {
            if (Input.GetKeyDown(KeyCode.F))
            {
                flyButton.Invoke();
            }

            if (isFly)
            {
                if (Input.mouseScrollDelta.y != 0)
                {
                    flySpeed += (int)Input.mouseScrollDelta.y;

                    if (flySpeed <= 0)
                    {
                        flySpeed = 1;
                    }

                    speedResetButton.SetButtonText($"Speed [{flySpeed}]");
                }

                if (Input.GetKey(KeyCode.W))
                {
                    player.transform.position += playerCamera.transform.forward * flySpeed * Time.deltaTime;
                }
                if (Input.GetKey(KeyCode.A))
                {
                    player.transform.position -= playerCamera.transform.right * flySpeed * Time.deltaTime;
                }
                if (Input.GetKey(KeyCode.S))
                {
                    player.transform.position -= playerCamera.transform.forward * flySpeed * Time.deltaTime;
                }
                if (Input.GetKey(KeyCode.D))
                {
                    player.transform.position += playerCamera.transform.right * flySpeed * Time.deltaTime;
                }

                if (Input.GetKey(KeyCode.E))
                {
                    player.transform.position += Vector3.up * flySpeed * Time.deltaTime;
                }
                if (Input.GetKey(KeyCode.Q))
                {
                    player.transform.position -= Vector3.up * flySpeed * Time.deltaTime;
                }

                if (Math.Abs(Input.GetAxis("Joy1 Axis 2")) > 0f)
                {
                    player.transform.position += playerCamera.transform.forward * flySpeed * Time.deltaTime * (Input.GetAxis("Joy1 Axis 2") * -1f);
                }
                if (Math.Abs(Input.GetAxis("Joy1 Axis 1")) > 0f)
                {
                    player.transform.position += playerCamera.transform.right * flySpeed * Time.deltaTime * Input.GetAxis("Joy1 Axis 1");
                }
            }
        }