public override float Run() { if (runtimeConversation == null) { return(0f); } if (isRunning) { if (runtimeConversation.IsActive(true)) { return(defaultPauseTime); } isRunning = false; return(0f); } isRunning = false; if (overrideOptions) { if (runtimeConversation.lastOption >= 0) { KickStarter.actionListManager.ignoreNextConversationSkip = true; return(0f); } KickStarter.actionListManager.ignoreNextConversationSkip = false; } if (overrideOptions) { runtimeConversation.Interact(this); } else { runtimeConversation.Interact(); if (willWait && !KickStarter.settingsManager.allowGameplayDuringConversations) { isRunning = true; return(defaultPauseTime); } } return(0f); }
override public float Run() { if (KickStarter.speechManager == null) { ACDebug.Log("No Speech Manager present"); return(0f); } if (KickStarter.dialog && KickStarter.stateHandler) { if (!isRunning) { EventManager.OnClickConversation += GetChoiceID; EventManager.OnStartSpeech += SpeechStart; EventManager.OnStopSpeech += SpeechStop; isRunning = true; tagIndex = -1; choiceID = -1; SetScript(); return(defaultPauseTime); } else { if (evaluatingTags) { float t = EvaluateTags(); if (t > actionComplete) { return(t); } evaluatingTags = false; return(defaultPauseTime); } CheckSpeechAudioEnded(); if (speech != null) { if (speech.isAlive && !speech.isBackground) { return(defaultPauseTime); } } if (ACInkIntegration.inkStory.canContinue && currentLine == string.Empty) { if (tagIndex == -1) { currentLine = ACInkIntegration.inkStory.Continue(); tagIndex = 0; if (ACInkIntegration.inkStory.currentTags.Count > 0 && !evaluatingTags) { evaluatingTags = true; return(defaultPauseTime); } } } if (currentLine != string.Empty) { RunScript(currentLine); tagIndex = -1; currentLine = string.Empty; return(defaultPauseTime); } if (conversation != null) { if (!conversation.IsActive(false) && choiceID >= 0) { ACInkIntegration.inkStory.ChooseChoiceIndex(choiceID); choiceID = -1; tagIndex = -1; return(defaultPauseTime); } if (ACInkIntegration.inkStory.currentChoices.Count > 0 && !conversation.IsActive(false)) { GetChoices(); if (conversation.options.Count == 1 && autoSelectLoneOption) { choiceID = 0; return(defaultPauseTime); } else { conversation.Interact(); } } if (conversation != null && conversation.IsActive(false)) { return(defaultPauseTime); } } isRunning = false; EventManager.OnClickConversation -= GetChoiceID; EventManager.OnStartSpeech -= SpeechStart; EventManager.OnStopSpeech -= SpeechStop; return(0f); } } return(0f); }