using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { public class BossController : MonoBehaviour { [field: SerializeField] public FieldBoss FieldBossPrefab { get; set; } [field: SerializeField] public Transform BossSpawnTransform { get; set; } [field: SerializeField] public Transform PlayerSpawnTransform { get; set; } [SerializeField] private Transform bossInstantiateLocation; private FieldBoss instantiatedBoss; private void Start() { InitStart(); } private void InitStart() { if (!instantiatedBoss) { instantiatedBoss = Instantiate(FieldBossPrefab, BossSpawnTransform.position, Quaternion.identity, bossInstantiateLocation); } instantiatedBoss.gameObject.SetActive(false); } public void ResetBoss() { if (instantiatedBoss) { if (instantiatedBoss.gameObject.activeSelf) { Destroy(instantiatedBoss.gameObject); } } UiManager.Inst.CombatUi.FieldBossHpSlider.SetActiveHpSlider(false); } public void Respawn() { if (instantiatedBoss) { if (instantiatedBoss.gameObject.activeSelf) { Destroy(instantiatedBoss.gameObject); } else { instantiatedBoss.transform.position = BossSpawnTransform.position; instantiatedBoss.gameObject.SetActive(true); UiManager.Inst.CombatUi.FieldBossHpSlider.SetHpSlider(instantiatedBoss.MaxHp, instantiatedBoss.name); return; } } instantiatedBoss = Instantiate(FieldBossPrefab, BossSpawnTransform.position, Quaternion.identity, bossInstantiateLocation); UiManager.Inst.CombatUi.FieldBossHpSlider.SetHpSlider(instantiatedBoss.MaxHp, instantiatedBoss.name); } } }