2024-06-03 18:26:03 +00:00
|
|
|
using System;
|
|
|
|
using BlueWater.Players.Combat;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace BlueWater
|
|
|
|
{
|
|
|
|
public class GameManager : Singleton<GameManager>
|
|
|
|
{
|
|
|
|
// Combat
|
|
|
|
[SerializeField]
|
|
|
|
private GameObject _combatPlayerPrefab;
|
2024-06-07 17:31:08 +00:00
|
|
|
|
|
|
|
[field: SerializeField]
|
2024-06-03 18:26:03 +00:00
|
|
|
public CombatPlayer CurrentCombatPlayer { get; private set; }
|
|
|
|
|
|
|
|
// Events
|
2024-06-06 11:07:07 +00:00
|
|
|
public event Action<Transform> OnInstantiatePlayer;
|
2024-06-03 18:26:03 +00:00
|
|
|
|
|
|
|
public void InstantiateCombatPlayer(Vector3 position, Quaternion rotation = default)
|
|
|
|
{
|
|
|
|
var instantiatePlayer = Instantiate(_combatPlayerPrefab, position, rotation).GetComponent<CombatPlayer>();
|
2024-06-06 11:07:07 +00:00
|
|
|
CurrentCombatPlayer = instantiatePlayer;
|
|
|
|
OnInstantiatePlayer?.Invoke(instantiatePlayer.transform);
|
2024-06-03 18:26:03 +00:00
|
|
|
}
|
2024-06-07 17:31:08 +00:00
|
|
|
|
|
|
|
public void SetCurrentCombatPlayer(CombatPlayer combatPlayer) => CurrentCombatPlayer = combatPlayer;
|
2024-06-03 18:26:03 +00:00
|
|
|
}
|
|
|
|
}
|