64 lines
2.1 KiB
C#
64 lines
2.1 KiB
C#
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);
|
|
}
|
|
}
|
|
} |