OldBlueWater/BlueWater/Assets/02.Scripts/BossController.cs
NTG 8a2eb81bee Closes #210 보스 체력바 연동
+ 보스방 진입시 보스 전용 Hp UI 추가
+ 전투 플레이어 스킬(검의 왈츠)의 공격할 때 나타나는 파티클의 위치가 랜덤으로 변경되었습니다.
2024-02-16 18:50:48 +09:00

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);
}
}
}