-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOrbitCamera.cs
37 lines (31 loc) · 1.13 KB
/
OrbitCamera.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using Cinemachine;
using UnityEngine;
internal class OrbitCamera : MonoBehaviour
{
[SerializeField] private float XSensitivity = 5f, YSensitivity = 8f;
[SerializeField] internal bool canControl;
[SerializeField] internal bool isFirstPerson { get; private set; }
[SerializeField] private CinemachineFreeLook virtualCamera;
internal static OrbitCamera singleton { get; private set; }
protected override void OnEnabled()
{
singleton = this;
}
internal void InitializeCursor(bool valueCanControl)
{
canControl = valueCanControl;
Cursor.lockState = canControl ? CursorLockMode.Locked : CursorLockMode.None;
Cursor.visible = !canControl ? true : false;
}
internal void SetupCam(Transform player, TCKTouchpad _touchpad)
{
touchpad = _touchpad;
virtualCamera.Follow = player;
}
private void Update()
{
if (!canControl) { return; }
virtualCamera.m_XAxis.Value += Input.GetAxis("Mouse X") * XSensitivity;
virtualCamera.m_YAxis.Value -= Input.GetAxis("Mouse Y") * YSensitivity;
}
}