Beispiel #1
0
        protected override void RunInt()
        {
            Slate slate = QuestGen.slate;
            QuestPart_Filter_AnyPawnAlive questPart_Filter_AnyPawnAlive = new QuestPart_Filter_AnyPawnAlive
            {
                inSignal = (QuestGenUtility.HardcodedSignalWithQuestID(inSignal.GetValue(slate)) ?? QuestGen.slate.Get <string>("inSignal")),
                pawns    = pawns.GetValue(slate)
            };

            if (node != null)
            {
                questPart_Filter_AnyPawnAlive.outSignal = QuestGen.GenerateNewSignal("OuterNodeCompleted");
                QuestGenUtility.RunInnerNode(node, questPart_Filter_AnyPawnAlive.outSignal);
            }
            QuestGen.quest.AddPart(questPart_Filter_AnyPawnAlive);
        }
Beispiel #2
0
        public static QuestPart_Filter_AnyPawnAlive AnyPawnAlive(this Quest quest, IEnumerable <Pawn> pawns, Action action = null, Action elseAction = null, string inSignal = null, string outSignal = null, string outSignalElse = null, string inSignalRemovePawn = null, QuestPart.SignalListenMode signalListenMode = QuestPart.SignalListenMode.OngoingOnly)
        {
            QuestPart_Filter_AnyPawnAlive questPart_Filter_AnyPawnAlive = new QuestPart_Filter_AnyPawnAlive();

            questPart_Filter_AnyPawnAlive.inSignal           = QuestGenUtility.HardcodedSignalWithQuestID(inSignal) ?? QuestGen.slate.Get <string>("inSignal");
            questPart_Filter_AnyPawnAlive.signalListenMode   = signalListenMode;
            questPart_Filter_AnyPawnAlive.pawns              = pawns.ToList();
            questPart_Filter_AnyPawnAlive.inSignalRemovePawn = inSignalRemovePawn;
            if (action != null)
            {
                QuestGenUtility.RunInner(action, questPart_Filter_AnyPawnAlive.outSignal = QuestGen.GenerateNewSignal("OuterNodeCompleted"));
            }
            if (elseAction != null)
            {
                QuestGenUtility.RunInner(elseAction, questPart_Filter_AnyPawnAlive.outSignalElse = QuestGen.GenerateNewSignal("OuterNodeCompleted"));
            }
            quest.AddPart(questPart_Filter_AnyPawnAlive);
            return(questPart_Filter_AnyPawnAlive);
        }