CapersProject/Assets/02.Scripts/BlueWater/GameManager.cs
2025-02-03 19:03:41 +09:00

34 lines
1.3 KiB
C#

using System;
using BlueWater.Players.Combat;
using BlueWater.Players.Tycoons;
using UnityEngine;
namespace BlueWater
{
public class GameManager : Singleton<GameManager>
{
// 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<Transform> OnInstantiatePlayer;
public void InstantiateCombatPlayer(Vector3 position, Quaternion rotation = default)
{
PostProcessingManager.Instance.ToggleRendererFeature(RendererFeatureName.GrayscaleRenderPassFeature, false);
var instantiatePlayer = Instantiate(_combatPlayerPrefab, position, rotation).GetComponent<CombatPlayer>();
CurrentCombatPlayer = instantiatePlayer;
OnInstantiatePlayer?.Invoke(instantiatePlayer.transform);
}
public void SetCurrentCombatPlayer(CombatPlayer combatPlayer) => CurrentCombatPlayer = combatPlayer;
public void SetCurrentTycoonPlayer(TycoonPlayer tycoonPlayer) => CurrentTycoonPlayer = tycoonPlayer;
}
}