rabidus-test/Assets/Amazing Assets/Curved World/Example Scenes/Files/Scripts/CameraPan.cs

60 lines
1.4 KiB
C#

using UnityEngine;
#if ENABLE_INPUT_SYSTEM
using UnityEngine.InputSystem;
#endif
namespace AmazingAssets.CurvedWorld.Example
{
public class CameraPan : MonoBehaviour
{
public float moveSpeed = 1;
#if ENABLE_INPUT_SYSTEM
Key moveLeft = Key.A;
Key moveRight = Key.D;
Key moveUp = Key.W;
Key moveDown = Key.S;
#else
KeyCode moveLeft = KeyCode.A;
KeyCode moveRight = KeyCode.D;
KeyCode moveUp = KeyCode.W;
KeyCode moveDown = KeyCode.S;
#endif
void Update()
{
bool mLeft = ExampleInput.GetKey(moveLeft);
bool mRight = ExampleInput.GetKey(moveRight);
bool mUp = ExampleInput.GetKey(moveUp);
bool mDown = ExampleInput.GetKey(moveDown);
float h = 0;
if ((mLeft && mRight) || (!mLeft && !mRight))
h = 0;
else if (mLeft)
h = -1;
else if (mRight)
h = 1;
float v = 0;
if ((mUp && mDown) || (!mUp && !mDown))
v = 0;
else if (mUp)
v = 1;
else if (mDown)
v = -1;
Vector3 newPos = transform.position + new Vector3(h, 0, v) * moveSpeed * Time.deltaTime;
newPos.x = Mathf.Clamp(newPos.x, -35, 35f);
newPos.z = Mathf.Clamp(newPos.z, -35, 35f);
transform.position = newPos;
}
}
}