using System.Collections.Generic; using BlueWaterProject; using Sirenix.OdinInspector; using UnityEngine; // ReSharper disable once CheckNamespace public class BossMapController : MonoBehaviour { /// 컴포넌트 [Title("컴포넌트")] [SerializeField, Required] protected Transform playerSpawnTransform; [SerializeField, Required] protected Transform bossSpawnTransform; [SerializeField, Required] protected Transform bossInstantiateTransform; [SerializeField, Required] protected GameObject bossPrefab; [field: SerializeField] public Transform ParticleInstantiateLocation { get; private set; } protected List bossInstanceList = new(10); public virtual void InitBossMap() { DataManager.Inst.CurrentSaveStage = SaveStage.SLIME; AllDestroyObjects(); bossInstanceList = new List(10); if (GameManager.Inst) { var player = GameManager.Inst.CurrentCombatPlayer; if (player) { Destroy(player.gameObject); } GameManager.Inst.InstantiateCombatPlayer(playerSpawnTransform.position); } // 보스 override로 추가 } public void AllDestroyBoss() { foreach (var element in bossInstanceList) { Destroy(element); } } public void AllDestroyObjects() { foreach (var element in bossInstanceList) { Destroy(element); } foreach (Transform element in ParticleInstantiateLocation) { Destroy(element.gameObject); } } }