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