/// <summary> /// 활동중인 몬스터 객체 리스트에서 몬스터 삭제 메소드 /// </summary> /// <param name="monster"></param> public void RemoveActivedMonsterList(GameObject monster) { if (_ActivedMonsterList.Contains(monster)) { ActivedMonsterList.Remove(monster); } }
/// <summary> /// 현재 활동중인 몬스터 전부를 풀로 반환시키는 매소드 /// </summary> public void RemoveAllActiveMonster() { if (ActivedMonsterList.Count == 0) { return; } // 몬스터 타입에따라서 // 풀로 반환한다. List <GameObject> active = ActivedMonsterList; //ActivedMonsterList.Clear(); foreach (GameObject mob in active) { try { MonsterType type = mob.GetComponent <FSMManager>().monsterType; switch (type) { case MonsterType.RedHat: MonsterPoolManager._Instance._RedHat.ItemReturnPool(mob); break; case MonsterType.Mac: MonsterPoolManager._Instance._Mac.ItemReturnPool(mob); break; case MonsterType.Tiber: MonsterPoolManager._Instance._Tiber.ItemReturnPool(mob); break; } } catch { } } if (MissionManager.Instance.CurrentMissionType == MissionType.Annihilation) { MissionA missionA = MissionManager.Instance.CurrentMission as MissionA; if (missionA.currentWave < missionA.totalWave) { missionA.Invoke("MonsterCheck", 5f); } //else if(missionA.currentWave == missionA.totalWave) // missionA.ClearMission(); } ActivedMonsterList.Clear(); }
/// <summary> /// 활동중인 몬스터 객체 추가 메소드, 항상 추가 해줄것. /// </summary> /// <param name="monster"></param> public void AddActivedMonsterList(GameObject monster) { // 해당객체가 몬스터인지 판별할것 ActivedMonsterList.Add(monster); }