Implemented simple computer camera controls.

This commit is contained in:
Maxwell Dodd 2025-01-25 20:06:21 +01:00
parent e7ea8302ad
commit 0e869555d3
2 changed files with 43 additions and 0 deletions

View file

@ -0,0 +1,41 @@
using UnityEngine;
using UnityEngine.EventSystems;
public class PlayerController : MonoBehaviour
{
private Vector3 _lastMousePosition;
private Camera _camera;
private bool _canMove;
private void Start() {
_camera = Camera.main;
}
private void Update() {
CheckMovementInput();
}
private void CheckMovementInput() {
if (Input.GetMouseButtonDown(0))
{
_lastMousePosition = Input.mousePosition;
_canMove = !IsMouseOverUI();
}
if (!Input.GetMouseButton(0) || !_canMove) return;
Vector3 mouseWorldPoint = _camera.ScreenToWorldPoint(Input.mousePosition);
Vector3 lastWorldPoint = _camera.ScreenToWorldPoint(_lastMousePosition);
Vector3 delta = mouseWorldPoint - lastWorldPoint;
_lastMousePosition = Input.mousePosition;
_camera.transform.position -= delta;
}
private bool IsMouseOverUI() {
return EventSystem.current.IsPointerOverGameObject();
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 01621b291be214dc6bf7ab90a7cb0d79