示例#1
0
        private void SpawnTrigger(CellRect rectToDefend, IntVec3 root, Map map, GenStepParams parms)
        {
            int      nextSignalTagID = Find.UniqueIDsManager.GetNextSignalTagID();
            string   signalTag       = "ambushActivated-" + nextSignalTagID;
            CellRect rect;

            if (root.IsValid)
            {
                rect = CellRect.CenteredOn(root, 17);
            }
            else
            {
                rect = rectToDefend.ExpandedBy(12);
            }
            SignalAction_Ambush signalAction_Ambush = this.MakeAmbushSignalAction(rectToDefend, root, parms);

            signalAction_Ambush.signalTag = signalTag;
            GenSpawn.Spawn(signalAction_Ambush, rect.CenterCell, map, WipeMode.Vanish);
            RectTrigger rectTrigger = this.MakeRectTrigger();

            rectTrigger.signalTag = signalTag;
            rectTrigger.Rect      = rect;
            GenSpawn.Spawn(rectTrigger, rect.CenterCell, map, WipeMode.Vanish);
            TriggerUnfogged triggerUnfogged = (TriggerUnfogged)ThingMaker.MakeThing(ThingDefOf.TriggerUnfogged, null);

            triggerUnfogged.signalTag = signalTag;
            GenSpawn.Spawn(triggerUnfogged, rect.CenterCell, map, WipeMode.Vanish);
        }
示例#2
0
        private void SpawnTrigger(CellRect rectToDefend, IntVec3 root, Map map, GenStepParams parms)
        {
            int                 nextSignalTagID     = Find.UniqueIDsManager.GetNextSignalTagID();
            string              signalTag           = "ambushActivated-" + nextSignalTagID;
            CellRect            rect                = (!root.IsValid) ? rectToDefend.ExpandedBy(12) : CellRect.CenteredOn(root, 17);
            SignalAction_Ambush signalAction_Ambush = MakeAmbushSignalAction(rectToDefend, root, parms);

            signalAction_Ambush.signalTag = signalTag;
            GenSpawn.Spawn(signalAction_Ambush, rect.CenterCell, map);
            RectTrigger rectTrigger = MakeRectTrigger();

            rectTrigger.signalTag = signalTag;
            rectTrigger.Rect      = rect;
            GenSpawn.Spawn(rectTrigger, rect.CenterCell, map);
            TriggerUnfogged obj = (TriggerUnfogged)ThingMaker.MakeThing(ThingDefOf.TriggerUnfogged);

            obj.signalTag = signalTag;
            GenSpawn.Spawn(obj, rect.CenterCell, map);
        }