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"); } } }