public override void Finish() { base.Finish(); switch (State) { case EncounterState.Won: Overworld.EnemyParties.Remove(enemyParty); if (primaryEnemyPartyMemberEntity != null) { primaryEnemyPartyMemberEntity.Kill(); } PopState(); break; case EncounterState.Lost: Scene.FinishCurrent(); new GameOver(); break; case EncounterState.Ran: if (primaryEnemyPartyMemberEntity != enemyParty.PrimaryPartyMember.OverworldEntity) { primaryEnemyPartyMemberEntity.Kill(); Overworld.EnemyParties.Remove(enemyParty); Overworld.AddEnemyParty(enemyParty, primaryEnemyPartyMemberEntity.Position); } Overworld.MakePlayerInvincible(); PopState(); break; } }