private void tryShowHint() { if (!checkTrayIsClosed()) { DQuestMessage dQuestMessage = new DQuestMessage(); dQuestMessage.MascotName = currentHint.MascotName; dQuestMessage.DismissTime = 4f; dQuestMessage.Text = currentHint.HintText; Service.Get <EventDispatcher>().DispatchEvent(new HudEvents.ShowQuestMessage(dQuestMessage)); Service.Get <QuestService>().SendEvent("QuestHintShown"); if (currentHint.Repeat) { startHintTimer(currentHint); } else { hintTimer = 0f; hintState = QuestHintState.Idle; } } else { hintState = QuestHintState.Delayed; hintTimer = 2.5f; } loadedHintTime = false; }
public QuestMessageComplete(DQuestMessage speechData) { SpeechData = speechData; }
public override void OnEnter() { dispatcher = Service.Get <EventDispatcher>(); DQuestMessage dQuestMessage = new DQuestMessage(); DialogList.Entry entry = default(DialogList.Entry); if (!UseDialogList) { dQuestMessage.Text = Service.Get <Localizer>().GetTokenTranslation(i18nContents); } else if (DialogList != null) { entry = ((!RandomDialog) ? DialogList.Entries[DialogListItemIndex] : DialogList.Entries[Random.Range(0, DialogList.Entries.Length)]); dQuestMessage.Text = Service.Get <Localizer>().GetTokenTranslation(entry.ContentToken); } dQuestMessage.MascotName = MascotName; dQuestMessage.DismissTime = ((AutoCloseTime > 0f) ? AutoCloseTime : ((float)DismissTime)); dQuestMessage.Buttons = null; dQuestMessage.ContentImageKey = ImageContentKey; dQuestMessage.RichText = RichText; dQuestMessage.ClickToClose = ClickToClose; dispatcher.AddListener <HudEvents.QuestMessageComplete>(OnSpeechComplete); dispatcher.DispatchEvent(new HudEvents.ShowQuestMessage(dQuestMessage)); string text = ""; string overrideAnimationName = ""; string overrideStopAnimationName = ""; bool flag = false; if (UseDialogList && DialogList != null) { text = entry.AudioEventName; overrideAnimationName = entry.DialogAnimationTrigger; overrideStopAnimationName = entry.DialogAnimationEndTrigger; flag = entry.AdvanceSequence; } else if (!AudioEventName.IsNone) { text = AudioEventName.Value; overrideAnimationName = DialogAnimationOverride.Value; overrideStopAnimationName = EndDialogAnimationOverride.Value; flag = AdvanceSequence; } if (!string.IsNullOrEmpty(text)) { EventAction eventAction = EventAction.PlaySound; if (flag) { eventAction = EventAction.AdvanceSequence; } GameObject mascotObject = Service.Get <MascotService>().GetMascotObject(MascotName); if (mascotObject != null && PlayDialogAnimation) { MascotController component = mascotObject.GetComponent <MascotController>(); EventManager.Instance.PostEventNotify(text, eventAction, base.Owner, component.dialogAudioCallback); component.StartDialogAnimation(text, overrideAnimationName, AutoStopDialogAnimation, overrideStopAnimationName); } else { EventManager.Instance.PostEventNotify(text, eventAction, base.Owner, onMascotAudioComplete); } } if (!WaitForFinish) { Finish(); } }
public ShowQuestMessage(DQuestMessage speechData) { SpeechData = speechData; }