コード例 #1
0
ファイル: ReportService.cs プロジェクト: sfvicente/Dictator
        /// <summary>
        ///     Retrieves the police report with the current month, revolution strength, player strength and group information.
        /// </summary>
        /// <returns>The police report with the current month, revolution strength, player strength and group information.</returns>
        public PoliceReport GetPoliceReport()
        {
            PoliceReport policeReport = new PoliceReport
            {
                Month                     = governmentService.GetMonth(),
                Groups                    = groupService.GetGroups().AsReadOnly(),
                PlayerStrength            = governmentService.GetPlayerStrength(),
                MonthlyRevolutionStrength = governmentService.GetMonthlyRevolutionStrength()
            };

            return(policeReport);
        }
コード例 #2
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);
            }
        }