コード例 #1
0
        public static SkyfallerPlus MakeSkyfaller(ThingDef skyfaller, Action impactAction = null)
        {
            SkyfallerPlus faller = (SkyfallerPlus)ThingMaker.MakeThing(skyfaller);

            faller.ImpactAction = impactAction;

            return(faller);
        }
コード例 #2
0
        public static SkyfallerPlus MakeSkyfaller(ThingDef skyfaller, IEnumerable <Thing> things, Action impactAction = null)
        {
            SkyfallerPlus skyfaller2 = MakeSkyfaller(skyfaller, impactAction);

            if (things != null)
            {
                skyfaller2.innerContainer.TryAddRangeOrTransfer(things, canMergeWithExistingStacks: false, destroyLeftover: true);
            }
            return(skyfaller2);
        }
コード例 #3
0
        public static SkyfallerPlus MakeSkyfaller(ThingDef skyfaller, Thing innerThing, Action impactAction = null)
        {
            SkyfallerPlus skyfaller2 = MakeSkyfaller(skyfaller, impactAction);

            if (innerThing != null && !skyfaller2.innerContainer.TryAdd(innerThing))
            {
                Log.Error("Could not add " + innerThing.ToStringSafe() + " to a skyfaller.");
                innerThing.Destroy();
            }
            return(skyfaller2);
        }
コード例 #4
0
        public static SkyfallerPlus SpawnSkyfaller(ThingDef skyfaller, IEnumerable <Thing> things, IntVec3 pos, Map map, Action impactAction = null)
        {
            SkyfallerPlus newThing = MakeSkyfaller(skyfaller, things, impactAction);

            return((SkyfallerPlus)GenSpawn.Spawn(newThing, pos, map));
        }
コード例 #5
0
        public static SkyfallerPlus SpawnSkyfaller(ThingDef skyfaller, Thing innerThing, IntVec3 pos, Map map, Action impactAction = null)
        {
            SkyfallerPlus newThing = MakeSkyfaller(skyfaller, innerThing, impactAction);

            return((SkyfallerPlus)GenSpawn.Spawn(newThing, pos, map));
        }