예제 #1
0
        public static Site TryMakeSite(SiteCoreDef core, IEnumerable <SitePartDef> siteParts, bool disallowAlliedFactions = true, Predicate <Faction> extraFactionValidator = null)
        {
            Faction faction = default(Faction);

            if (!SiteMakerHelper.TryFindRandomFactionFor(core, siteParts, out faction, disallowAlliedFactions, extraFactionValidator))
            {
                return(null);
            }
            return(SiteMaker.MakeSite(core, siteParts, faction));
        }
예제 #2
0
        public static Site TryMakeSite(SiteCoreDef core, IEnumerable <SitePartDef> siteParts, int tile, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null, bool ifHostileThenMustRemainHostile = true, float?threatPoints = null)
        {
            Faction faction;

            if (!SiteMakerHelper.TryFindRandomFactionFor(core, siteParts, out faction, disallowNonHostileFactions, extraFactionValidator))
            {
                return(null);
            }
            return(SiteMaker.MakeSite(core, siteParts, tile, faction, ifHostileThenMustRemainHostile, threatPoints));
        }
예제 #3
0
        public static Site TryMakeSite_SingleSitePart(SiteCoreDef core, string singleSitePartTag, Faction faction = null, bool disallowAlliedFactions = true, Predicate <Faction> extraFactionValidator = null)
        {
            SitePartDef sitePart = default(SitePartDef);

            if (!SiteMakerHelper.TryFindSiteParams_SingleSitePart(core, singleSitePartTag, out sitePart, out faction, faction, disallowAlliedFactions, extraFactionValidator))
            {
                return(null);
            }
            return(SiteMaker.MakeSite(core, sitePart, faction));
        }
예제 #4
0
        public static Site TryMakeSite_SingleSitePart(SiteCoreDef core, string singleSitePartTag, int tile, Faction faction = null, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null, bool ifHostileThenMustRemainHostile = true, float?threatPoints = null)
        {
            SitePartDef sitePart;

            if (!SiteMakerHelper.TryFindSiteParams_SingleSitePart(core, singleSitePartTag, out sitePart, out faction, faction, disallowNonHostileFactions, extraFactionValidator))
            {
                return(null);
            }
            return(SiteMaker.MakeSite(core, sitePart, tile, faction, ifHostileThenMustRemainHostile, threatPoints));
        }
예제 #5
0
        public static Site TryMakeSite_SingleSitePart(SiteCoreDef core, IEnumerable <SitePartDef> singleSitePartCandidates, Faction faction = null, bool disallowAlliedFactions = true, Predicate <Faction> extraFactionValidator = null)
        {
            SitePartDef sitePart;

            if (!SiteMakerHelper.TryFindSiteParams_SingleSitePart(core, singleSitePartCandidates, out sitePart, out faction, faction, disallowAlliedFactions, extraFactionValidator))
            {
                return(null);
            }
            return(SiteMaker.MakeSite(core, sitePart, faction));
        }
예제 #6
0
        public static Site TryMakeSite(SiteCoreDef core, IEnumerable <SitePartDef> siteParts, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null, bool ifHostileThenMustRemainHostile = true)
        {
            Faction faction;
            Site    result;

            if (!SiteMakerHelper.TryFindRandomFactionFor(core, siteParts, out faction, disallowNonHostileFactions, extraFactionValidator))
            {
                result = null;
            }
            else
            {
                result = SiteMaker.MakeSite(core, siteParts, faction, ifHostileThenMustRemainHostile);
            }
            return(result);
        }
예제 #7
0
        public static Site TryMakeSite_SingleSitePart(SiteCoreDef core, string singleSitePartTag, Faction faction = null, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null, bool ifHostileThenMustRemainHostile = true)
        {
            SitePartDef sitePart;
            Site        result;

            if (!SiteMakerHelper.TryFindSiteParams_SingleSitePart(core, singleSitePartTag, out sitePart, out faction, faction, disallowNonHostileFactions, extraFactionValidator))
            {
                result = null;
            }
            else
            {
                result = SiteMaker.MakeSite(core, sitePart, faction, ifHostileThenMustRemainHostile);
            }
            return(result);
        }
예제 #8
0
        public static Site MakeSite(SiteCoreDef core, SitePartDef sitePart, Faction faction)
        {
            IEnumerable <SitePartDef> siteParts = (sitePart == null) ? null : Gen.YieldSingle(sitePart);

            return(SiteMaker.MakeSite(core, siteParts, faction));
        }
예제 #9
0
        public static Site MakeSite(SiteCoreDef core, SitePartDef sitePart, int tile, Faction faction, bool ifHostileThenMustRemainHostile = true, float?threatPoints = null)
        {
            IEnumerable <SitePartDef> siteParts = (sitePart == null) ? null : Gen.YieldSingle <SitePartDef>(sitePart);

            return(SiteMaker.MakeSite(core, siteParts, tile, faction, ifHostileThenMustRemainHostile, threatPoints));
        }