60 lines
1.7 KiB
C#
60 lines
1.7 KiB
C#
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);
|
|
}
|
|
}
|
|
} |