54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using System.Collections;
|
|
using BlueWaterProject;
|
|
using UnityEngine;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
public class RhinocerosBossMapController : BossMapController
|
|
{
|
|
public override void InitBossMap()
|
|
{
|
|
base.InitBossMap();
|
|
|
|
DataManager.Inst.CurrentSaveStage = SaveStage.RHINOCEROS;
|
|
InstantiateRhinoceros(bossSpawnTransform.position);
|
|
}
|
|
|
|
private Rhinoceros InstantiateRhinoceros(Vector3 instantiatePosition)
|
|
{
|
|
var instantiateBoss = Instantiate(bossPrefab, instantiatePosition, Quaternion.identity, bossInstantiateTransform).GetComponent<Rhinoceros>();
|
|
|
|
CombatUiManager.Inst.FieldBossHpSlider.SetHpSlider(instantiateBoss.MaxHp, instantiateBoss.BossName);
|
|
bossInstanceList.Add(instantiateBoss.gameObject);
|
|
|
|
return instantiateBoss;
|
|
}
|
|
|
|
public override void DieBoss()
|
|
{
|
|
StartCoroutine(nameof(DieBossCoroutine));
|
|
}
|
|
|
|
private IEnumerator DieBossCoroutine()
|
|
{
|
|
VisualFeedbackManager.Inst.SetBaseTimeScale(0.1f);
|
|
CombatUiManager.Inst.FadeInOut();
|
|
|
|
var elapsedTime = 0f;
|
|
while (elapsedTime <= 3f)
|
|
{
|
|
elapsedTime += Time.unscaledDeltaTime;
|
|
yield return null;
|
|
}
|
|
VisualFeedbackManager.Inst.SetBaseTimeScale(1f);
|
|
|
|
elapsedTime = 0f;
|
|
while (elapsedTime <= 2f)
|
|
{
|
|
elapsedTime += Time.unscaledDeltaTime;
|
|
yield return null;
|
|
}
|
|
|
|
AllDestroyBoss();
|
|
CombatUiManager.Inst.ClearPopupUi.Open();
|
|
}
|
|
} |