示例#1
0
        public static bool FactionInScope(IFaction faction, DropdownDefault <string>?scope)
        {
            if (faction is null || faction.MapFaction is null || scope is null || scope.SelectedIndex < 0 || scope.SelectedIndex > 2)
            {
                return(false);
            }

            switch (scope.SelectedIndex)
            {
            case 0: break;

            case 1:
                if (Clan.PlayerClan.MapFaction is null || !Clan.PlayerClan.MapFaction.IsKingdomFaction || Clan.PlayerClan.MapFaction != faction.MapFaction)
                {
                    return(false);
                }
                break;

            case 2:
                if (Clan.PlayerClan.MapFaction is null || !Clan.PlayerClan.MapFaction.IsKingdomFaction || !(faction.MapFaction.IsKingdomFaction && faction.MapFaction.Leader != Hero.MainHero))
                {
                    return(false);
                }
                break;

            default:
                break;
            }

            return(true);
        }
示例#2
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);
        }