using System; using Sirenix.OdinInspector; using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { [DefaultExecutionOrder(-1)] public class GameManager : Singleton { public ShipPlayer ShipPlayer { get; private set; } // Combat [Title("Combat")] [SerializeField] private GameObject combatPlayerPrefab; public CombatPlayer CurrentCombatPlayer { get; set; } public event Action OnInstantiateCombatPlayer; // Tycoon [Title("Tycoon")] public TycoonPlayer TycoonPlayer { get; private set; } public bool IsBuildMode { get; set; } [field: SerializeField] public bool IsOnFollowCamera { get; set; } private void Init() { TycoonPlayer = FindAnyObjectByType(); ShipPlayer = FindAnyObjectByType(); } protected override void OnAwake() { Init(); } private void Start() { Cursor.lockState = CursorLockMode.Confined; } public void InstantiateCombatPlayer(Vector3 position, Quaternion rotation = default) { var instantiatePlayer = Instantiate(combatPlayerPrefab, position, rotation); OnInstantiateCombatPlayer?.Invoke(instantiatePlayer.transform); } } }