CapersProject/Assets/02.Scripts/Map/BossMapController.cs

61 lines
1.7 KiB
C#
Raw Normal View History

2024-06-03 18:26:03 +00:00
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();
}
}
}