protected virtual void DoAlertAction() { if (string.IsNullOrEmpty(alertMessage)) { return; } string localizedAlertMessage; if ((textTable != null) && textTable.HasFieldTextForLanguage(alertMessage, Localization.GetCurrentLanguageID(textTable))) { localizedAlertMessage = textTable.GetFieldTextForLanguage(alertMessage, Localization.GetCurrentLanguageID(textTable)); } else { localizedAlertMessage = DialogueManager.GetLocalizedText(alertMessage); } if (Mathf.Approximately(0, alertDuration)) { DialogueManager.ShowAlert(localizedAlertMessage); } else { DialogueManager.ShowAlert(localizedAlertMessage, alertDuration); } }
/// <summary> /// Gets the localized text for a field name. /// </summary> /// <returns>The localized text.</returns> /// <param name="fieldName">Field name.</param> public virtual string GetLocalizedText(string fieldName) { if ((textTable != null) && textTable.HasFieldTextForLanguage(fieldName, Localization.GetCurrentLanguageID(textTable))) { return(textTable.GetFieldTextForLanguage(fieldName, Localization.GetCurrentLanguageID(textTable))); } else { return(DialogueManager.GetLocalizedText(fieldName)); } }
/// <summary> /// Call this method to manually run the action. /// </summary> public void Fire() { // Quest: if (!string.IsNullOrEmpty(questName)) { QuestLog.SetQuestState(questName, questState); } // Lua: if (!string.IsNullOrEmpty(luaCode)) { Lua.Run(luaCode, DialogueDebug.logInfo); DialogueManager.CheckAlerts(); } // Sequence: if (!string.IsNullOrEmpty(sequence)) { DialogueManager.PlaySequence(sequence); } // Alert: if (!string.IsNullOrEmpty(alertMessage)) { string localizedAlertMessage; if ((textTable != null) && textTable.HasFieldTextForLanguage(alertMessage, Localization.GetCurrentLanguageID(textTable))) { localizedAlertMessage = textTable.GetFieldTextForLanguage(alertMessage, Localization.GetCurrentLanguageID(textTable)); } else { localizedAlertMessage = DialogueManager.GetLocalizedText(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(); if (once) { StopObserving(); enabled = false; } }