예제 #1
0
        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);
                }
            }
        }