protected virtual void Complete(SignalArgs signalArgs) { if (state != QuestPartState.Enabled) { Log.Error("Tried to end QuestPart but its state is not Active. part=" + this); return; } state = QuestPartState.Disabled; if (outcomeCompletedSignalArg != 0) { signalArgs.Add(outcomeCompletedSignalArg.Named("OUTCOME")); } Find.SignalManager.SendSignal(new Signal(OutSignalCompleted, signalArgs)); if (outSignalsCompleted.NullOrEmpty()) { return; } for (int i = 0; i < outSignalsCompleted.Count; i++) { if (!outSignalsCompleted[i].NullOrEmpty()) { Find.SignalManager.SendSignal(new Signal(outSignalsCompleted[i], signalArgs)); } } }
protected virtual void Disable() { if (state != QuestPartState.Enabled) { Log.Error("Tried to disable QuestPart but its state is not enabled. part=" + this); } else { state = QuestPartState.Disabled; } }
protected virtual void Enable(SignalArgs receivedArgs) { if (state == QuestPartState.Enabled) { Log.Error("Tried to enable QuestPart while already enabled. part=" + this); return; } state = QuestPartState.Enabled; enableTick = Find.TickManager.TicksGame; Find.SignalManager.SendSignal(new Signal(OutSignalEnabled)); }