Exemplo n.º 1
0
        public static string AsString(this RoundEndReason reason)
        {
            switch (reason)
            {
            case RoundEndReason.CTWin:
                return(AppSettings.CT_WIN);

            case RoundEndReason.TerroristWin:
                return(AppSettings.T_WIN);

            case RoundEndReason.TargetBombed:
                return(AppSettings.BOMB_EXPLODED);

            case RoundEndReason.BombDefused:
                return(AppSettings.BOMB_DEFUSED);

            case RoundEndReason.CTSurrender:
                return(AppSettings.CT_SURRENDER);

            case RoundEndReason.TerroristsSurrender:
                return(AppSettings.T_SURRENDER);

            case RoundEndReason.TargetSaved:
                return(AppSettings.TARGET_SAVED);

            default:
                return(AppSettings.UNKNOWN);
            }
        }
Exemplo n.º 2
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            RoundEndReason reason = (RoundEndReason)value;

            switch (reason)
            {
            case RoundEndReason.CTWin:
                return(AppSettings.CT_WIN);

            case RoundEndReason.TerroristWin:
                return(AppSettings.T_WIN);

            case RoundEndReason.TargetBombed:
                return(AppSettings.BOMB_EXPLODED);

            case RoundEndReason.BombDefused:
                return(AppSettings.BOMB_DEFUSED);

            case RoundEndReason.CTSurrender:
                return(AppSettings.CT_SURRENDER);

            case RoundEndReason.TerroristsSurrender:
                return(AppSettings.T_SURRENDER);

            case RoundEndReason.TargetSaved:
                return(AppSettings.TARGET_SAVED);

            default:
                return(AppSettings.UNKNOWN);
            }
        }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            RoundEndReason reason = (RoundEndReason)value;

            switch (reason)
            {
            case RoundEndReason.CTWin:
                return(Properties.Resources.EndReasonCtWin);

            case RoundEndReason.TerroristWin:
                return(Properties.Resources.EndReasonTwin);

            case RoundEndReason.TargetBombed:
                return(Properties.Resources.EndReasonBombExploded);

            case RoundEndReason.BombDefused:
                return(Properties.Resources.EndReasonBombDefused);

            case RoundEndReason.CTSurrender:
                return(Properties.Resources.EndReasonCtSurrender);

            case RoundEndReason.TerroristsSurrender:
                return(Properties.Resources.EndReasonTsurrender);

            case RoundEndReason.TargetSaved:
                return(Properties.Resources.EndReasonTargetSaved);

            default:
                return(Properties.Resources.EndReasonUnknown);
            }
        }
Exemplo n.º 4
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            string         reasonAsString;
            RoundEndReason reason = (RoundEndReason)value;

            switch (reason)
            {
            case RoundEndReason.CTWin:
                reasonAsString = AppSettings.CT_WIN;
                break;

            case RoundEndReason.TerroristWin:
                reasonAsString = AppSettings.T_WIN;
                break;

            case RoundEndReason.TargetBombed:
                reasonAsString = AppSettings.BOMB_EXPLODED;
                break;

            case RoundEndReason.BombDefused:
                reasonAsString = AppSettings.BOMB_DEFUSED;
                break;

            case RoundEndReason.CTSurrender:
                reasonAsString = AppSettings.CT_SURRENDER;
                break;

            case RoundEndReason.TerroristsSurrender:
                reasonAsString = AppSettings.T_SURRENDER;
                break;

            case RoundEndReason.TargetSaved:
                reasonAsString = AppSettings.TARGET_SAVED;
                break;

            default:
                reasonAsString = AppSettings.UNKNOWN;
                break;
            }
            serializer.Serialize(writer, reasonAsString);
        }
Exemplo n.º 5
0
 private void HandleServerEventRoundEndReasonChange(RoundEndReasonChange message) => this.RoundEndReason = message.RoundEndReason;
Exemplo n.º 6
0
        private void OnRoundEnd()
        {
            foreach (FlagCapturePoint allCapturePoint in this.AllCapturePoints)
            {
                if (!allCapturePoint.IsDeactivated)
                {
                    allCapturePoint.SetMoveNone();
                }
            }
            RoundEndReason roundEndReason = RoundEndReason.Invalid;
            bool           flag1          = (double)this.RoundController.RemainingRoundTime <= 0.0 && !this.CheckIfOvertime();
            int            num1           = -1;

            for (int index = 0; index < 2; ++index)
            {
                int num2 = index * 2 - 1;
                if (flag1 && (double)num2 * (double)this._morale > 0.0 || !flag1 && (double)num2 * (double)this._morale >= 1.0)
                {
                    num1 = index;
                    break;
                }
            }
            CaptureTheFlagCaptureResultEnum roundResult = CaptureTheFlagCaptureResultEnum.NotCaptured;

            if (num1 >= 0)
            {
                roundResult = num1 == 0 ? CaptureTheFlagCaptureResultEnum.DefendersWin : CaptureTheFlagCaptureResultEnum.AttackersWin;
                this.RoundController.RoundWinner = num1 == 0 ? BattleSideEnum.Defender : BattleSideEnum.Attacker;
                roundEndReason = flag1 ? RoundEndReason.RoundTimeEnded : RoundEndReason.GameModeSpecificEnded;
            }
            else
            {
                bool flag2 = this.Mission.AttackerTeam.ActiveAgents.Count > 0;
                bool flag3 = this.Mission.DefenderTeam.ActiveAgents.Count > 0;
                if (flag2 & flag3)
                {
                    if ((double)this._morale > 0.0)
                    {
                        roundResult = CaptureTheFlagCaptureResultEnum.AttackersWin;
                        this.RoundController.RoundWinner = BattleSideEnum.Attacker;
                    }
                    else if ((double)this._morale < 0.0)
                    {
                        roundResult = CaptureTheFlagCaptureResultEnum.DefendersWin;
                        this.RoundController.RoundWinner = BattleSideEnum.Defender;
                    }
                    else
                    {
                        roundResult = CaptureTheFlagCaptureResultEnum.Draw;
                        this.RoundController.RoundWinner = BattleSideEnum.None;
                    }
                    roundEndReason = RoundEndReason.RoundTimeEnded;
                }
                else if (flag2)
                {
                    roundResult = CaptureTheFlagCaptureResultEnum.AttackersWin;
                    this.RoundController.RoundWinner = BattleSideEnum.Attacker;
                    roundEndReason = RoundEndReason.SideDepleted;
                }
                else if (flag3)
                {
                    roundResult = CaptureTheFlagCaptureResultEnum.DefendersWin;
                    this.RoundController.RoundWinner = BattleSideEnum.Defender;
                    roundEndReason = RoundEndReason.SideDepleted;
                }
                else
                {
                    foreach (NetworkCommunicator networkPeer in GameNetwork.NetworkPeers)
                    {
                        MissionPeer component = networkPeer.GetComponent <MissionPeer>();
                        if (component?.Team != null && component.Team.Side != BattleSideEnum.None)
                        {
                            string strValue = MultiplayerOptions.OptionType.CultureTeam1.GetStrValue();
                            if (component.Team.Side != BattleSideEnum.Attacker)
                            {
                                strValue = MultiplayerOptions.OptionType.CultureTeam2.GetStrValue();
                            }
                            if (this.GetCurrentGoldForPeer(component) >= MultiplayerClassDivisions.GetMinimumTroopCost(MBObjectManager.Instance.GetObject <BasicCultureObject>(strValue)))
                            {
                                this.RoundController.RoundWinner = component.Team.Side;
                                roundEndReason = RoundEndReason.SideDepleted;
                                roundResult    = component.Team.Side == BattleSideEnum.Attacker ? CaptureTheFlagCaptureResultEnum.AttackersWin : CaptureTheFlagCaptureResultEnum.DefendersWin;
                                break;
                            }
                        }
                    }
                }
            }
            if (roundResult == CaptureTheFlagCaptureResultEnum.NotCaptured)
            {
                return;
            }
            this.RoundController.RoundEndReason = roundEndReason;
            this.HandleRoundEnd(roundResult);
        }