virtual public void SetBattleEnd() { ConfigData.Instance.RefreshSleep(); IsBattleStart = false; if (battleEndType != pe_EndBattle.Exit) { SoundManager.Instance.StopBGM(); switch (battleEndType) { case pe_EndBattle.Win: ShowPopupTime = Time.time + 4f; SoundManager.PlaySound(AssetManager.GetSound("battle_win"), 1f); break; case pe_EndBattle.Timeout: case pe_EndBattle.Lose: ShowPopupTime = Time.time + 4f; SoundManager.PlaySound(AssetManager.GetSound("battle_lose"), 1f); break; default: ShowPopupTime = Time.time + 2f; break; } dead_characters.AddRange(characters.Where(c => c.IsDead)); // characters = characters.Where(c => c.IsDead == false).ToList(); foreach (ICreature icreature in characters) { if (icreature.IsDead == true) { continue; } BattleCreature creature = icreature as BattleCreature; creature.Finish(battleEndType == pe_EndBattle.Win); } foreach (ICreature icreature in enemies) { if (icreature.IsDead == true) { continue; } BattleCreature creature = icreature as BattleCreature; if (creature == null) { continue; } creature.Finish(battleEndType == pe_EndBattle.Lose); } foreach (var creature in m_LightingCreatures) { creature.SetEnd(true); } } }