Souljack/Assets/_Project/Scripts/Player.cs

39 lines
1.4 KiB
C#

using _Project.Scripts.PlayerUtils;
using _Project.Scripts.Utilities;
using UnityEngine;
namespace _Project.Scripts
{
public class Player : MonoSingleton<Player>
{
public PlayerControls Controls { get; private set; }
public PlayerMovement Movement { get; private set; }
public PlayerCamera CameraController { get; private set; }
public PlayerCombat Combat { get; private set; }
public PlayerSound Sound { get; private set; }
public PlayerUI UI { get; private set; }
public PlayerPossession Possession { get; private set; }
protected override void Awake()
{
base.Awake();
Controls = new PlayerControls();
Movement = GetComponent<PlayerMovement>();
CameraController = GetComponent<PlayerCamera>();
Combat = GetComponent<PlayerCombat>();
Sound = GetComponent<PlayerSound>();
UI = GetComponent<PlayerUI>();
Possession = GetComponent<PlayerPossession>();
if (Possession == null) Possession = gameObject.AddComponent<PlayerPossession>();
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
private void OnEnable() => Controls.Player.Enable();
private void OnDisable() => Controls.Player.Disable();
}
}