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); }
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); }