コード例 #1
0
ファイル: PlotService.cs プロジェクト: sfvicente/Dictator
        /// <summary>
        ///     Checks for the required conditions and changes que appropriate group status
        ///     to the revolution and assassination modes.
        /// </summary>
        public void Plot()
        {
            // Do not trigger assassinations or revolutions after failed revolution
            if (governmentService.GetMonth() < governmentService.GetPlotBonus())
            {
                return;
            }

            // Do not trigger assassinations or revolutions in the first 2 months of government
            if (governmentService.GetMonth() > 2)
            {
                groupService.ResetStatusAndAllies();

                Group[] groups = groupService.GetGroups();
                int     monthlyMinimalPopularityAndStrength = governmentService.GetMonthlyMinimalPopularityAndStrength();
                int     monthlyRevolutionStrength           = governmentService.GetMonthlyRevolutionStrength();

                // Perform internal plot logic
                ExecutePlot(groups, monthlyMinimalPopularityAndStrength, monthlyRevolutionStrength);
            }
        }