public void Fire() { if (DialogueDebug.logInfo) { Debug.Log(string.Format("{0}: Setting quest '{1}' state to '{2}'", new System.Object[] { DialogueDebug.Prefix, questName, QuestLog.StateToString(questState) })); } // Quest states: if (!string.IsNullOrEmpty(questName)) { if (setQuestState) { QuestLog.SetQuestState(questName, questState); } if (setQuestEntryState) { QuestLog.SetQuestEntryState(questName, questEntryNumber, questEntryState); } } // Lua: if (!string.IsNullOrEmpty(luaCode)) { Lua.Run(luaCode, DialogueDebug.logInfo); } // Alert: if (!string.IsNullOrEmpty(alertMessage)) { string localizedAlertMessage = alertMessage; if ((localizedTextTable != null) && localizedTextTable.ContainsField(alertMessage)) { localizedAlertMessage = localizedTextTable[alertMessage]; } DialogueManager.ShowAlert(localizedAlertMessage); } // Send Messages: foreach (var sma in sendMessages) { if (sma.gameObject != null && !string.IsNullOrEmpty(sma.message)) { sma.gameObject.SendMessage(sma.message, sma.parameter, SendMessageOptions.DontRequireReceiver); } } DialogueManager.SendUpdateTracker(); // Once? DestroyIfOnce(); }
// NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties. public override void ProcessFrame(Playable playable, FrameData info, object playerData) { int inputCount = playable.GetInputCount(); for (int i = 0; i < inputCount; i++) { float inputWeight = playable.GetInputWeight(i); if (inputWeight > 0.001f && !played.Contains(i)) { played.Add(i); ScriptPlayable <SetQuestStateBehaviour> inputPlayable = (ScriptPlayable <SetQuestStateBehaviour>)playable.GetInput(i); SetQuestStateBehaviour input = inputPlayable.GetBehaviour(); if (Application.isPlaying) { if (input.setQuestState) { QuestLog.SetQuestState(input.quest, input.questState); } if (input.setQuestEntryState) { QuestLog.SetQuestEntryState(input.quest, input.questEntryNumber, input.questEntryState); } } else { var message = string.Empty; if (input.setQuestState) { message = "Set quest " + input.quest + " to " + input.questState; if (input.setQuestEntryState) { message += " and entry #" + input.questEntryNumber + " to " + input.questEntryState; } } else if (input.setQuestEntryState) { message = "Set quest " + input.quest + " entry #" + input.questEntryNumber + " to " + input.questEntryState; } if (!string.IsNullOrEmpty(message)) { PreviewUI.ShowMessage(message, 2, -2); } } } else if (inputWeight <= 0.001f && played.Contains(i)) { played.Remove(i); } } }
protected virtual void DoQuestAction() { if (string.IsNullOrEmpty(questName)) { return; } if (setQuestState) { QuestLog.SetQuestState(questName, questState); } if (setQuestEntryState) { QuestLog.SetQuestEntryState(questName, questEntryNumber, questEntryState); } }
void RpcSetQuestEntryState(string questName, int entryNumber, string state) { QuestLog.SetQuestEntryState(questName, entryNumber, state); }