61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
using System.Collections;
|
|
using BlueWater.Uis;
|
|
using Sirenix.OdinInspector;
|
|
using UnityEngine;
|
|
|
|
namespace BlueWater.Maps
|
|
{
|
|
public abstract class BossMapController : MapController
|
|
{
|
|
[SerializeField, Required]
|
|
protected Transform BossSpawnTransform;
|
|
|
|
public override void InitializeMap()
|
|
{
|
|
AllDestroyObjects();
|
|
|
|
if (GameManager.Instance)
|
|
{
|
|
var player = GameManager.Instance.CurrentCombatPlayer;
|
|
if (player)
|
|
{
|
|
Destroy(player.gameObject);
|
|
}
|
|
|
|
GameManager.Instance.InstantiateCombatPlayer(PlayerSpawnTransform.position);
|
|
}
|
|
|
|
// 보스 override로 추가
|
|
}
|
|
|
|
public override void MapClear()
|
|
{
|
|
StartCoroutine(nameof(MapClearCoroutine));
|
|
}
|
|
|
|
protected virtual IEnumerator MapClearCoroutine()
|
|
{
|
|
AllDestroyEnemy();
|
|
VisualFeedbackManager.Instance.SetBaseTimeScale(0.1f);
|
|
CombatUiManager.Instance.FadeInOut();
|
|
|
|
var elapsedTime = 0f;
|
|
while (elapsedTime <= 3f)
|
|
{
|
|
elapsedTime += Time.unscaledDeltaTime;
|
|
yield return null;
|
|
}
|
|
AllDestroyEnemy();
|
|
VisualFeedbackManager.Instance.SetBaseTimeScale(1f);
|
|
|
|
elapsedTime = 0f;
|
|
while (elapsedTime <= 2f)
|
|
{
|
|
elapsedTime += Time.unscaledDeltaTime;
|
|
yield return null;
|
|
}
|
|
|
|
CombatUiManager.Instance.ClearPopupUi.Open();
|
|
}
|
|
}
|
|
} |