using System; using BlueWater.Players.Combat; using BlueWater.Players.Tycoons; using UnityEngine; namespace BlueWater { public class GameManager : Singleton { // Combat [SerializeField] private GameObject _combatPlayerPrefab; [field: SerializeField] public CombatPlayer CurrentCombatPlayer { get; private set; } [field: SerializeField] public TycoonPlayer CurrentTycoonPlayer { get; private set; } // Events public event Action OnInstantiatePlayer; public void InstantiateCombatPlayer(Vector3 position, Quaternion rotation = default) { PostProcessingManager.Instance.ToggleRendererFeature(RendererFeatureName.GrayscaleRenderPassFeature, false); var instantiatePlayer = Instantiate(_combatPlayerPrefab, position, rotation).GetComponent(); CurrentCombatPlayer = instantiatePlayer; OnInstantiatePlayer?.Invoke(instantiatePlayer.transform); } public void SetCurrentCombatPlayer(CombatPlayer combatPlayer) => CurrentCombatPlayer = combatPlayer; public void SetCurrentTycoonPlayer(TycoonPlayer tycoonPlayer) => CurrentTycoonPlayer = tycoonPlayer; } }