public override void UpdateStatus(FightStatus fightStatus) { fightStatus.endReason = GetEndReason(fightStatus); switch (GameStatus.fightType) { case FightType.TeamVersus: foreach (IEntityWithBoardPresence item in fightStatus.EnumerateEntities <IEntityWithBoardPresence>()) { IEntityWithOwner entityWithOwner; if ((entityWithOwner = (item as IEntityWithOwner)) == null || entityWithOwner.teamId != winningTeamId) { m_removedEntities.Add(item); fightStatus.RemoveEntity(item.id); } } break; case FightType.BossFight: foreach (IEntityWithBoardPresence item2 in fightStatus.EnumerateEntities <IEntityWithBoardPresence>()) { m_removedEntities.Add(item2); fightStatus.RemoveEntity(item2.id); } break; default: throw new ArgumentOutOfRangeException(); } if (fightStatus == FightStatus.local) { FightMap current3 = FightMap.current; if (null != current3) { current3.Stop(); } FightUIRework instance = FightUIRework.instance; if (null != instance) { instance.SetResignButtonEnabled(value: false); } } }