コード例 #1
0
 private static bool FactionCanOwn(SitePartDef sitePart, Faction faction, bool disallowNonHostileFactions, Predicate <Faction> extraFactionValidator)
 {
     if (sitePart == null)
     {
         Log.Error("Called FactionCanOwn() with null SitePartDef.");
         return(false);
     }
     if (faction != null && faction.temporary)
     {
         return(false);
     }
     if (!sitePart.FactionCanOwn(faction))
     {
         return(false);
     }
     if (disallowNonHostileFactions && faction != null && !faction.HostileTo(Faction.OfPlayer))
     {
         return(false);
     }
     if (extraFactionValidator != null && !extraFactionValidator(faction))
     {
         return(false);
     }
     return(true);
 }
コード例 #2
0
 public SitePart(Site site, SitePartDef def, SitePartParams parms)
 {
     this.site  = site;
     this.def   = def;
     this.parms = parms;
     hidden     = def.defaultHidden;
 }
コード例 #3
0
        // Token: 0x06000074 RID: 116 RVA: 0x00004ABC File Offset: 0x00002CBC
        public static Site CreateSite(int tile, SitePartDef sitePart, int days, Faction siteFaction)
        {
            Site site = SiteMaker.MakeSite(SiteCoreDefOf.OldOutpost, sitePart, tile, siteFaction, true, null);

            site.sitePartsKnown = true;
            site.GetComponent <TimeoutComp>().StartTimeout(days * 60000);
            Find.WorldObjects.Add(site);
            return(site);
        }
コード例 #4
0
        public static Site CreateSite(int tile, SitePartDef sitePart, int days, Faction siteFaction, IList <Thing> items)
        {
            Site site = SiteMaker.MakeSite(PolarisIncidentDefOf.Polaris_TradeShipPodCrashSiteCore, sitePart, tile, siteFaction, true);

            site.sitePartsKnown = true;
            site.GetComponent <TimeoutComp>().StartTimeout(days * 60000);
            site.GetComponent <ItemStashContentsComp>().contents.TryAddRangeOrTransfer(items, false, false);
            Find.WorldObjects.Add(site);
            return(site);
        }
コード例 #5
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));
        }
コード例 #6
0
        private static void SpawnSiteWithPoints()
        {
            int tile = GenWorld.MouseTile();

            if (tile < 0 || Find.World.Impassable(tile))
            {
                Messages.Message("Impassable", MessageTypeDefOf.RejectInput, historical: false);
                return;
            }
            List <SitePartDef> parts   = new List <SitePartDef>();
            Action             addPart = null;
            float       localPoints    = default(float);
            SitePartDef localPart      = default(SitePartDef);

            addPart = delegate
            {
                List <DebugMenuOption> list = new List <DebugMenuOption>
                {
                    new DebugMenuOption("-Done (" + parts.Count + " parts)-", DebugMenuOptionMode.Action, delegate
                    {
                        List <DebugMenuOption> list2 = new List <DebugMenuOption>();
                        foreach (float item in DebugActionsUtility.PointsOptions(extended: true))
                        {
                            localPoints = item;
                            list2.Add(new DebugMenuOption(item.ToString("F0"), DebugMenuOptionMode.Action, delegate
                            {
                                Site site = SiteMaker.TryMakeSite(parts, tile, disallowNonHostileFactions: true, null, ifHostileThenMustRemainHostile: true, localPoints);
                                if (site == null)
                                {
                                    Messages.Message("Could not find any valid faction for this site.", MessageTypeDefOf.RejectInput, historical: false);
                                }
                                else
                                {
                                    Find.WorldObjects.Add(site);
                                }
                            }));
                        }
                        Find.WindowStack.Add(new Dialog_DebugOptionListLister(list2));
                    })
                };
                foreach (SitePartDef allDef in DefDatabase <SitePartDef> .AllDefs)
                {
                    localPart = allDef;
                    list.Add(new DebugMenuOption(allDef.defName, DebugMenuOptionMode.Action, delegate
                    {
                        parts.Add(localPart);
                        addPart();
                    }));
                }
                Find.WindowStack.Add(new Dialog_DebugOptionListLister(list));
            };
            addPart();
        }
コード例 #7
0
        public SingleObjectEditor(Site s)
        {
            resizeable = false;

            edit     = true;
            editSite = s;

            part            = editSite.parts[0].def;
            selectedFaction = editSite.Faction;

            threatsFloat = editSite.desiredThreatPoints;
        }
コード例 #8
0
        public override void DoWindowContents(Rect inRect)
        {
            Text.Font = GameFont.Small;

            Widgets.Label(new Rect(0, 0, 390, 20), Translator.Translate("AddSingleObjectTitle"));

            Widgets.Label(new Rect(310, 40, 240, 20), Translator.Translate("SiteParts"));
            int  size2               = DefDatabase <SitePartDef> .AllDefsListForReading.Count * 25;
            Rect scrollRectFact2     = new Rect(310, 60, 300, 200);
            Rect scrollVertRectFact2 = new Rect(0, 0, scrollRectFact2.x, size2);

            Widgets.BeginScrollView(scrollRectFact2, ref scroll2, scrollVertRectFact2);
            int x = 0;

            foreach (var sitePart in DefDatabase <SitePartDef> .AllDefsListForReading)
            {
                if (Widgets.RadioButtonLabeled(new Rect(0, x, 295, 20), sitePart.defName, part == sitePart))
                {
                    part = sitePart;
                }
                x += 22;
            }
            Widgets.EndScrollView();

            Widgets.Label(new Rect(0, 40, 390, 20), Translator.Translate("FactionOwner"));
            int  factionDefSize     = Find.FactionManager.AllFactionsListForReading.Count * 25;
            Rect scrollRectFact     = new Rect(0, 60, 300, 200);
            Rect scrollVertRectFact = new Rect(0, 0, scrollRectFact.x, factionDefSize);

            Widgets.BeginScrollView(scrollRectFact, ref scroll, scrollVertRectFact);
            x = 0;
            foreach (var spawnedFaction in Find.FactionManager.AllFactionsListForReading)
            {
                if (Widgets.ButtonText(new Rect(0, x, 290, 20), spawnedFaction.Name))
                {
                    selectedFaction = spawnedFaction;
                }
                x += 22;
            }
            Widgets.EndScrollView();

            Widgets.Label(new Rect(0, 290, 350, 40), Translator.Translate("ThreatPoint"));
            Widgets.TextFieldNumeric(new Rect(360, 290, 260, 20), ref threatsFloat, ref threats, 0, 2000000);

            Widgets.Label(new Rect(0, 390, 600, 20), $"Selected tile ID: {Find.WorldSelector.selectedTile}");

            if (Widgets.ButtonText(new Rect(0, 450, 630, 20), Translator.Translate("AddNewSingleObject")))
            {
                AddSingleObject();
            }
        }
コード例 #9
0
ファイル: PreciousLumpMenu.cs プロジェクト: SwimUp/worldedit
        public PreciousLumpMenu(Site s)
        {
            resizeable = false;

            edit = true;

            editSite = s;

            resource = editSite.parts[0].parms.preciousLumpResources;
            time     = (editSite.GetComponent <TimeoutComp>().TicksLeft / 60000).ToString();

            part = editSite.parts[0].def;

            selectedFaction = editSite.Faction;
        }
        // Token: 0x06000DA9 RID: 3497 RVA: 0x000648C0 File Offset: 0x00062CC0
        protected override bool TryExecuteWorker(IncidentParms parms)
        {
            Faction faction;

            if (!this.TryFindFactions(out faction))
            {
                return(false);
            }
            int tile;

            if (!TileFinder.TryFindNewSiteTile(out tile, 8, 30, false, true, -1))
            {
                return(false);
            }
            Faction zFaction = Faction.OfInsects;

            foreach (Faction factionZ in Find.FactionManager.AllFactionsListForReading)
            {
                if (factionZ.def.defName == "Zombie")
                {
                    zFaction = factionZ;
                }
            }
            SitePartDef def = DefDatabase <SitePartDef> .GetNamed("ZombieOutpost", false);

            Site site = SiteMaker.MakeSite(SiteCoreDefOf.Nothing, def, tile, faction);
            //site.Tile = tile;
            List <Thing> list = this.GenerateRewards(faction);

            site.GetComponent <DefeatAllEnemiesQuestComp>().StartQuest(faction, 7, list);
            Find.WorldObjects.Add(site);

            /*
             * base.SendStandardLetter(site, new string[]
             * {
             *  faction.leader.LabelShort,
             *  faction.def.leaderTitle,
             *  faction.Name,
             *  list[0].LabelCap
             * });
             */
            return(true);
        }
コード例 #11
0
        private static void SpawnSite()
        {
            int tile = GenWorld.MouseTile();

            if (tile < 0 || Find.World.Impassable(tile))
            {
                Messages.Message("Impassable", MessageTypeDefOf.RejectInput, historical: false);
                return;
            }
            List <SitePartDef> parts     = new List <SitePartDef>();
            Action             addPart   = null;
            SitePartDef        localPart = default(SitePartDef);

            addPart = delegate
            {
                List <DebugMenuOption> list = new List <DebugMenuOption>
                {
                    new DebugMenuOption("-Done (" + parts.Count + " parts)-", DebugMenuOptionMode.Action, delegate
                    {
                        Site site = SiteMaker.TryMakeSite(parts, tile);
                        if (site == null)
                        {
                            Messages.Message("Could not find any valid faction for this site.", MessageTypeDefOf.RejectInput, historical: false);
                        }
                        else
                        {
                            Find.WorldObjects.Add(site);
                        }
                    })
                };
                foreach (SitePartDef allDef in DefDatabase <SitePartDef> .AllDefs)
                {
                    localPart = allDef;
                    list.Add(new DebugMenuOption(allDef.defName, DebugMenuOptionMode.Action, delegate
                    {
                        parts.Add(localPart);
                        addPart();
                    }));
                }
                Find.WindowStack.Add(new Dialog_DebugOptionListLister(list));
            };
            addPart();
        }
コード例 #12
0
        // Added for testing purposes...
        private Site CreateSite(int tile, SitePartDef sitePart, int days, Faction siteFaction, List <Thing> items)
        {
            WorldObjectDef woDef;
            float          chance = Rand.Value;

            //if (chance < 0.5f)
            //    woDef = WorldObjectDefOf.AbandonedFactionBase;
            //else
            woDef = WorldObjectDefOf.Site;

            Site site = (Site)WorldObjectMaker.MakeWorldObject(woDef);

            //site.Tile = tile;
            site.core = DefDatabase <SiteCoreDef> .GetNamed("Anomaly_ItemStash");

            if (sitePart != null)
            {
                site.parts.Add(sitePart);
            }

            if (siteFaction != null)
            {
                site.SetFaction(siteFaction);
            }

            if (days > 0)
            {
                site.GetComponent <TimeoutComp>().StartTimeout(days * 60000);
            }

            if (items != null && items.Count > 0)
            {
                site.GetComponent <ItemStashContentsComp>().contents.TryAddRangeOrTransfer(items);
            }

            //Find.WorldObjects.Add(site);
            return(site);
        }
コード例 #13
0
 public SitePart(SitePartDef def, SiteCoreOrPartParams parms)
 {
     this.def   = def;
     base.parms = parms;
 }
コード例 #14
0
 public static Site MakeSite(SitePartDef sitePart, int tile, Faction faction, bool ifHostileThenMustRemainHostile = true, float?threatPoints = null)
 {
     return(MakeSite((sitePart != null) ? Gen.YieldSingle(sitePart) : null, tile, faction, ifHostileThenMustRemainHostile, threatPoints));
 }
コード例 #15
0
        public static bool TryFindSiteParams_SingleSitePart(SiteCoreDef core, string singleSitePartTag, out SitePartDef sitePart, out Faction faction, Faction factionToUse = null, bool disallowAlliedFactions = true, Predicate <Faction> extraFactionValidator = null)
        {
            IEnumerable <SitePartDef> singleSitePartCandidates = (singleSitePartTag == null) ? null : (from x in DefDatabase <SitePartDef> .AllDefsListForReading
                                                                                                       where x.tags.Contains(singleSitePartTag)
                                                                                                       select x);

            return(SiteMakerHelper.TryFindSiteParams_SingleSitePart(core, singleSitePartCandidates, out sitePart, out faction, factionToUse, disallowAlliedFactions, extraFactionValidator));
        }
コード例 #16
0
 public static bool TryFindNewRandomSitePartFor(SiteCoreDef core, IEnumerable <SitePartDef> existingSiteParts, IEnumerable <SitePartDef> possibleSiteParts, Faction faction, out SitePartDef sitePart, bool disallowAlliedFactions = true, Predicate <Faction> extraFactionValidator = null)
 {
     if (faction != null)
     {
         if ((from x in possibleSiteParts
              where x == null || SiteMakerHelper.FactionCanOwn(x, faction, disallowAlliedFactions, extraFactionValidator)
              select x).TryRandomElement(out sitePart))
         {
             return(true);
         }
     }
     else
     {
         SiteMakerHelper.possibleFactions.Clear();
         SiteMakerHelper.possibleFactions.Add(null);
         SiteMakerHelper.possibleFactions.AddRange(Find.FactionManager.AllFactionsListForReading);
         if ((from x in possibleSiteParts
              where x == null || SiteMakerHelper.possibleFactions.Any((Faction fac) => SiteMakerHelper.FactionCanOwn(core, existingSiteParts, fac, disallowAlliedFactions, extraFactionValidator) && SiteMakerHelper.FactionCanOwn(x, fac, disallowAlliedFactions, extraFactionValidator))
              select x).TryRandomElement(out sitePart))
         {
             SiteMakerHelper.possibleFactions.Clear();
             return(true);
         }
         SiteMakerHelper.possibleFactions.Clear();
     }
     sitePart = null;
     return(false);
 }
コード例 #17
0
 public static bool TryFindNewRandomSitePartFor(IEnumerable <SitePartDef> existingSiteParts, IEnumerable <SitePartDef> possibleSiteParts, Faction faction, out SitePartDef sitePart, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null)
 {
     if (faction != null)
     {
         if (possibleSiteParts.Where((SitePartDef x) => x == null || ((existingSiteParts == null || existingSiteParts.All((SitePartDef p) => p != x && p.CompatibleWith(x))) && FactionCanOwn(x, faction, disallowNonHostileFactions, extraFactionValidator))).TryRandomElement(out sitePart))
         {
             return(true);
         }
     }
     else
     {
         possibleFactions.Clear();
         possibleFactions.Add(null);
         possibleFactions.AddRange(Find.FactionManager.AllFactionsListForReading);
         if (possibleSiteParts.Where((SitePartDef x) => x == null || ((existingSiteParts == null || existingSiteParts.All((SitePartDef p) => p != x && p.CompatibleWith(x))) && possibleFactions.Any((Faction fac) => FactionCanOwn(existingSiteParts, fac, disallowNonHostileFactions, extraFactionValidator) && FactionCanOwn(x, fac, disallowNonHostileFactions, extraFactionValidator)))).TryRandomElement(out sitePart))
         {
             possibleFactions.Clear();
             return(true);
         }
         possibleFactions.Clear();
     }
     sitePart = null;
     return(false);
 }
コード例 #18
0
 public static bool TryFindSiteParams_SingleSitePart(SiteCoreDef core, IEnumerable <SitePartDef> singleSitePartCandidates, out SitePartDef sitePart, out Faction faction, Faction factionToUse = null, bool disallowAlliedFactions = true, Predicate <Faction> extraFactionValidator = null)
 {
     faction = factionToUse;
     if (singleSitePartCandidates != null)
     {
         if (!SiteMakerHelper.TryFindNewRandomSitePartFor(core, null, singleSitePartCandidates, faction, out sitePart, disallowAlliedFactions, extraFactionValidator))
         {
             return(false);
         }
     }
     else
     {
         sitePart = null;
     }
     if (faction == null)
     {
         IEnumerable <SitePartDef> parts = (sitePart == null) ? null : Gen.YieldSingle <SitePartDef>(sitePart);
         if (!SiteMakerHelper.TryFindRandomFactionFor(core, parts, out faction, disallowAlliedFactions, extraFactionValidator))
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #19
0
 public static bool TryFindSiteParams_SingleSitePart(IEnumerable <SitePartDef> singleSitePartCandidates, out SitePartDef sitePart, out Faction faction, Faction factionToUse = null, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null)
 {
     faction = factionToUse;
     if (singleSitePartCandidates != null)
     {
         if (!TryFindNewRandomSitePartFor(null, singleSitePartCandidates, faction, out sitePart, disallowNonHostileFactions, extraFactionValidator))
         {
             return(false);
         }
     }
     else
     {
         sitePart = null;
     }
     if (faction == null && !TryFindRandomFactionFor((sitePart != null) ? Gen.YieldSingle(sitePart) : null, out faction, disallowNonHostileFactions, extraFactionValidator))
     {
         return(false);
     }
     return(true);
 }
コード例 #20
0
 public static bool TryFindSiteParams_SingleSitePart(string singleSitePartTag, out SitePartDef sitePart, out Faction faction, Faction factionToUse = null, bool disallowNonHostileFactions = true, Predicate <Faction> extraFactionValidator = null)
 {
     return(TryFindSiteParams_SingleSitePart(SitePartDefsWithTag(singleSitePartTag), out sitePart, out faction, factionToUse, disallowNonHostileFactions, extraFactionValidator));
 }
        protected override bool TryExecuteWorker(IncidentParms parms)
        {
            int tile = default(int);

            if (!RimWorld.Planet.TileFinder.TryFindNewSiteTile(out tile, distance.min, distance.max, false, true, -1))
            {
                return(false);
            }

            Faction factionEnemies, factionFriends;

            GenStep_Battlefield.TryFindFightingFactions(out factionEnemies, out factionFriends);
            if (factionEnemies == null || factionFriends == null)
            {
                return(false);
            }

            Site site;

            SitePartDef core;
            float       chance = Rand.Value;

            if (chance < 0.10f)
            {
                core = DefDatabase <SitePartDef> .GetNamedSilentFail("BanditCamp");
            }
            if (chance < 0.35f)
            {
                core = DefDatabase <SitePartDef> .GetNamedSilentFail("ItemStash");
            }
            else if (chance < 0.50f)
            {
                core = SitePartDefOf.PreciousLump;
            }
            else if (chance < 0.90f)
            {
                core = null;
            }
            else
            {
                core = DefDatabase <SitePartDef> .AllDefs.RandomElement();
            }

            List <SitePartDef> parts = new List <SitePartDef>();

            if (Rand.Value < 0.40f)
            {
                parts = GetRandomSitePartDefs;
            }
            if (core != null)
            {
                parts.Add(core);
            }

            // And allways add the Misc_Battlefield part
            SitePartDef sitePartDef_Battlefield = (DefDatabase <SitePartDef> .GetNamed("Misc_Battlefield"));

            parts.Add(sitePartDef_Battlefield);

            site = SiteMaker.MakeSite(parts, tile, factionEnemies);

            if (site != null)
            {
                // Try to add a railgun :)
                ThingDef railgunDef = DefDatabase <ThingDef> .GetNamedSilentFail("Gun_RailgunMKI");

                if (railgunDef != null && Rand.Value < 0.35)
                {
                    Thing railgun = null;
                    railgun = ThingMaker.MakeThing(railgunDef);

                    SitePartDef possible1 = DefDatabase <SitePartDef> .GetNamedSilentFail("ItemStash");

                    SitePartDef possible2 = DefDatabase <SitePartDef> .GetNamedSilentFail("BanditCamp");

                    ItemStashContentsComp itemStash = site.GetComponent <ItemStashContentsComp>();
                    if (itemStash != null && parts.Contains(possible1) || parts.Contains(possible2) || parts.Contains(SitePartDefOf.Outpost))
                    {
                        if (railgun != null)
                        {
                            itemStash.contents.TryAdd(railgun);
                        }
                    }
                }

                // Add a site timeout ???
                site.GetComponent <TimeoutComp>().StartTimeout(Rand.RangeInclusive(10, 30) * 60000);

                Find.WorldObjects.Add(site);
                Find.LetterStack.ReceiveLetter("Misc_Incident_Label_Battlefield".Translate(), "Misc_Incident_Message_Battlefield".Translate(), LetterDefOf.NeutralEvent, site);

                return(true);
            }
            return(false);
        }
コード例 #22
0
ファイル: PreciousLumpMenu.cs プロジェクト: SwimUp/worldedit
        public override void DoWindowContents(Rect inRect)
        {
            Text.Font = GameFont.Small;

            Widgets.Label(new Rect(0, 0, 290, 20), Translator.Translate("PreciousLumpMenuTitle"));

            Widgets.Label(new Rect(0, 40, 80, 20), Translator.Translate("ResourceType"));
            if (Widgets.ButtonText(new Rect(90, 40, 200, 20), resource.label))
            {
                List <FloatMenuOption> list = new List <FloatMenuOption>();
                foreach (var thing in DefDatabase <ThingDef> .AllDefsListForReading)
                {
                    if (thing.mineable)
                    {
                        list.Add(new FloatMenuOption(thing.defName, delegate
                        {
                            resource = thing;
                        }));
                    }
                }
                Find.WindowStack.Add(new FloatMenu(list));
            }

            Widgets.Label(new Rect(0, 70, 290, 20), Translator.Translate("DurationTimeDaysLump"));
            time = Widgets.TextField(new Rect(0, 95, 280, 20), time);

            Widgets.Label(new Rect(0, 125, 80, 20), Translator.Translate("ThreatType"));
            if (Widgets.ButtonText(new Rect(90, 125, 200, 20), part.defName))
            {
                List <FloatMenuOption> list = new List <FloatMenuOption>();
                foreach (var p in DefDatabase <SitePartDef> .AllDefsListForReading)
                {
                    list.Add(new FloatMenuOption(p.defName, delegate
                    {
                        part = p;
                    }));
                }
                Find.WindowStack.Add(new FloatMenu(list));
            }

            int  factionDefSize      = Find.FactionManager.AllFactionsListForReading.Count * 25;
            Rect scrollRectFact3     = new Rect(310, 40, 280, 200);
            Rect scrollVertRectFact3 = new Rect(0, 0, scrollRectFact3.x, factionDefSize);

            Widgets.BeginScrollView(scrollRectFact3, ref scroll2, scrollVertRectFact3);
            int x = 0;

            foreach (var spawnedFaction in Find.FactionManager.AllFactionsListForReading)
            {
                if (Widgets.ButtonText(new Rect(0, x, 290, 20), spawnedFaction.Name))
                {
                    selectedFaction = spawnedFaction;
                }
                x += 22;
            }
            Widgets.EndScrollView();

            Widgets.Label(new Rect(0, 155, 100, 40), Translator.Translate("ThreatPoint"));
            Widgets.TextFieldNumeric(new Rect(110, 155, 170, 20), ref threatsFloat, ref threats, 0, 2000000);

            Widgets.Label(new Rect(0, 210, 290, 20), $"Selected tile ID: {Find.WorldSelector.selectedTile}");

            if (Widgets.ButtonText(new Rect(0, 240, 620, 20), Translator.Translate("AddNewItemStash")))
            {
                AddLump();
            }
        }
コード例 #23
0
 public SitePartDefWithParams(SitePartDef def, SitePartParams parms)
 {
     this.def   = def;
     this.parms = parms;
 }
コード例 #24
0
 internal bool <> m__0(SitePartDef x)
 {
     return(x.tags.Contains(this.singleSitePartTag));
 }
コード例 #25
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));
        }
コード例 #26
0
ファイル: SiteMaker.cs プロジェクト: potsh/RimWorld
        public static Site MakeSite(SiteCoreDef core, SitePartDef sitePart, int tile, Faction faction, bool ifHostileThenMustRemainHostile = true, float?threatPoints = default(float?))
        {
            IEnumerable <SitePartDef> siteParts = (sitePart == null) ? null : Gen.YieldSingle(sitePart);

            return(MakeSite(core, siteParts, tile, faction, ifHostileThenMustRemainHostile, threatPoints));
        }
コード例 #27
0
        public static Site MakeSite(SiteCoreDef core, SitePartDef sitePart, Faction faction, bool ifHostileThenMustRemainHostile = true)
        {
            IEnumerable <SitePartDef> siteParts = (sitePart == null) ? null : Gen.YieldSingle <SitePartDef>(sitePart);

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