using UnityEngine; namespace LE_LevelEditor.LEInput { public class LE_InputDeviceKeyboard : LE_InputDeviceBase { private const float MOVE_SPEED = 0.15f; private const float MOVE_SPEED_SHIFT_FACTOR = 4f; private const float MOVE_SPEED_CTRL_FACTOR = 0.2f; public LE_InputDeviceKeyboard(LE_IInputHandler p_inputHandler) : base(p_inputHandler) { } public override void Update() { if (!FisheryEditor.Instance.allowKeyboardInput) { return; } Vector3 zero = Vector3.zero; if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { zero += Vector3.left * 0.5f; } if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { zero += Vector3.right * 0.5f; } if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) { zero += Vector3.back; } if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) { zero += Vector3.forward; } if (Input.GetKey(KeyCode.Q)) { zero += Vector3.down * 0.5f; } if (Input.GetKey(KeyCode.E)) { zero += Vector3.up * 0.5f; } zero *= 0.15f; if (zero.sqrMagnitude != 0f) { if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) { zero *= 0.2f; } else if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) { zero *= 4f; } m_inputHandler.MoveCamera(Vector3.zero, zero); } } public override void Destroy() { } } }