Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/LE_LevelEditor/LEInput/LE_InputDeviceKeyboard.cs
2026-02-21 16:45:37 +08:00

69 lines
1.4 KiB
C#

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()
{
}
}
}