Beispiel #1
0
        public static bool SubSystemEnabled(SubSystemType subSystem)
        {
            switch (subSystem)
            {
            //Loyalty
            case SubSystemType.EnsuredLoyalty: return(Settings.Instance !.UseEnsuredLoyalty);

            case SubSystemType.LoyaltyWithholding: return(Settings.Instance !.UseEnsuredLoyalty && Settings.Instance.UseRelationForEnsuredLoyalty && Settings.Instance.UseWithholdPrice);

            case SubSystemType.LoyaltyInConversations: return(Settings.Instance !.UseEnsuredLoyalty && Settings.Instance.UseLoyaltyInConversations);

            case SubSystemType.LoyaltyTooltips: return(Settings.Instance !.UseAdvancedHeroTooltips && Settings.Instance.UseEnsuredLoyalty);

            //Migration
            case SubSystemType.MigrationTweaks: return(Settings.Instance !.UseMigrationTweaks);

            case SubSystemType.AllowJoinRequests: return(Settings.Instance !.UseMigrationTweaks && Settings.Instance.AllowJoinRequests);

            case SubSystemType.AllowHireRequests: return(Settings.Instance !.UseMigrationTweaks && Settings.Instance.AllowHireRequests);

            case SubSystemType.UseDeterminedKingdomPick: return(Settings.Instance !.UseMigrationTweaks && Settings.Instance.UseDeterminedKingdomPick);

            //Politics
            case SubSystemType.ElectionRebalance: return(Settings.Instance !.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance);

            case SubSystemType.DecisionSupportRebalance: return(Settings.Instance !.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseDecisionSupportRebalance);

            case SubSystemType.MakePeaceSupportRebalance:
                return(Settings.Instance !.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseDecisionSupportRebalance &&
                       Settings.Instance.PeaceSupportCalculationMethod.SelectedValue.EnumValue != PeaceAndWarConsideration.Native);

            case SubSystemType.DeclareWarSupportRebalance:
                return(Settings.Instance !.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseDecisionSupportRebalance &&
                       Settings.Instance.WarSupportCalculationMethod.SelectedValue.EnumValue != PeaceAndWarConsideration.Native);

            /*
             * case SubSystemType.SettlementClaimantSupportRebalance:
             * return Settings.Instance!.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseDecisionSupportRebalance
             *       && Settings.Instance.FiefOwnershipSupportCalculationMethod.SelectedValue.EnumValue != FiefOwnershipConsideration.Native;
             * case SubSystemType.AnnexationSupportRebalance:
             * return Settings.Instance!.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseDecisionSupportRebalance
             *       && Settings.Instance.AnnexSupportCalculationMethod.SelectedValue.EnumValue != FiefOwnershipConsideration.Native;
             */
            case SubSystemType.ElectionCooldowns: return(Settings.Instance !.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseElectionCooldowns);

            case SubSystemType.ElectionCooldownsForPlayer: return(Settings.Instance !.UsePoliticsRebalance && Settings.Instance.UseElectionRebalance && Settings.Instance.UseElectionCooldowns && Settings.Instance.UseElectionCooldownsForPlayer);

            //General
            case SubSystemType.AdvancedHeroTooltips: return(Settings.Instance !.UseAdvancedHeroTooltips);

            //Testing
            case SubSystemType.FreeDecisionOverriding: return(Settings.Instance !.UseTestingSettings && Settings.Instance.FreeDecisionOverriding);

            case SubSystemType.DestabilizeJoinEvaluation: return(Settings.Instance !.UseTestingSettings && Settings.Instance.DestabilizeJoinEvaluation);

            case SubSystemType.DestabilizeLeaveEvaluation: return(Settings.Instance !.UseTestingSettings && Settings.Instance.DestabilizeLeaveEvaluation);

            default: return(false);
            }
        }
Beispiel #2
0
 public static string LoadKDString(string description, string resourceID, SubSystemType systemType, params object[] args)
 {
     if (TryGetSlKDString(resourceID, description, systemType.ToString(), out description))
     {
         return(description);
     }
     return(LoadKDString(description, resourceID, CultureInfoUtils.GetCurrentCulture().Name, systemType.ToString(), args));
 }
Beispiel #3
0
        private static DefaultDropdown <string> DetermineSubSystemScope(SubSystemType subSystem)
        {
            switch ((int)subSystem)
            {
            case int subSystemIdx when(subSystemIdx < 50): return(Settings.Instance.EnsuredLoyaltyScope);

            case int subSystemIdx when(subSystemIdx >= 50 && subSystemIdx < 100): return(Settings.Instance.PoliticsRebalanceScope);

            default: return(null);
            }
        }
            public void SetErrorCode(SubSystemType s, SystemError?system, CardReaderError?cardReader, KeyPadError?keypad, SecuritymoduleError?scuritymodule)
            {
                this.CurrentSubSystemType = s;
                switch (s)
                {
                case SubSystemType.SPOT_SYS_MAIN:
                    if (system.HasValue)
                    {
                        this.ErrorCode = (byte)(system.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting SystemError enum!");
                    }
                    break;

                case SubSystemType.SPOT_SYS_CARDREADER:
                    if (cardReader.HasValue)
                    {
                        this.ErrorCode = (byte)(cardReader.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting CardReaderError enum!");
                    }
                    break;

                case SubSystemType.SPOT_SYS_KEYBOARD:
                    if (keypad.HasValue)
                    {
                        this.ErrorCode = (byte)(keypad.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting KeyPadError enum!");
                    }
                    break;

                case SubSystemType.SPOT_SYS_SECURITYMODULE:
                    if (scuritymodule.HasValue)
                    {
                        this.ErrorCode = (byte)(scuritymodule.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting scuritymodule Error enum!");
                    }
                    break;

                default:
                    break;
                }
            }
            public void SetStatus(SubSystemType s, SystemStatus?systemStutus, CardReaderSystemStatus?cardReaderStutus, KeyPadSystemStatus?keypadStutus, SecuritymoduleSystemStatus?scuritymodule)
            {
                this.CurrentSubSystemType = s;
                switch (s)
                {
                case SubSystemType.SPOT_SYS_MAIN:
                    if (systemStutus.HasValue)
                    {
                        this.Status = (byte)(systemStutus.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting systemStatus enum!");
                    }
                    break;

                case  SubSystemType.SPOT_SYS_CARDREADER:
                    if (cardReaderStutus.HasValue)
                    {
                        this.Status = (byte)(cardReaderStutus.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting cardReaderStatus enum!");
                    }
                    break;

                case SubSystemType.SPOT_SYS_KEYBOARD:
                    if (keypadStutus.HasValue)
                    {
                        this.Status = (byte)(keypadStutus.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting keypadStatus enum!");
                    }
                    break;

                case SubSystemType.SPOT_SYS_SECURITYMODULE:
                    if (scuritymodule.HasValue)
                    {
                        this.Status = (byte)(scuritymodule.Value);
                    }
                    else
                    {
                        throw new ArgumentException("expecting scuritymodule Status enum!");
                    }
                    break;

                default:
                    break;
                }
            }
Beispiel #6
0
        public static bool SubSystemEnabled(SubSystemType subSystem, List <IFaction> factionList)
        {
            if (!SubSystemEnabled(subSystem))
            {
                return(false);
            }
            DropdownDefault <string>?scope = DetermineSubSystemScope(subSystem);

            foreach (IFaction faction in factionList)
            {
                if (FactionInScope(faction, scope))
                {
                    return(true);
                }
            }
            return(false);
        }
Beispiel #7
0
        public static string LoadResFormat(string description, string resourceID, string sLanguage, SubSystemType systemType, params object[] args)
        {
            string str = LoadKDString(description, resourceID, sLanguage, systemType.ToString(), args);

            if (args != null)
            {
                int length = args.Length;
                for (int i = 1; i <= length; i++)
                {
                    str = str.Replace("%" + i, args[i - 1].ToString());
                }
            }
            return(str);
        }
Beispiel #8
0
 public static string LoadResFormat(string description, string resourceID, SubSystemType systemType, params object[] args)
 {
     return(LoadResFormat(description, resourceID, systemType.ToString(), args));
 }
Beispiel #9
0
 public static bool SubSystemEnabled(SubSystemType subSystem, IFaction faction)
 {
     return(SubSystemEnabled(subSystem) && FactionInScope(faction, DetermineSubSystemScope(subSystem)));
 }