69 lines
1.4 KiB
C#
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()
|
|
{
|
|
}
|
|
}
|
|
}
|