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