public void RefreshStatementMenu(RHSpeaker s) { List <RHStatement> stlist = GetAvailableStatements(s); float scroll = 0f; DialogueOptionBox dop = FindObjectOfType <DialogueOptionBox>(); if (dop != null) { Destroy(dop.gameObject); scroll = dop.GetScrollValue(); } RHManager.CreateDialogueOptionList(stlist, s, this, "Select your next statement", scroll); }
private static DialogueOptionInitializer convertToDialogueOption(RHStatement s, List <RHStatement> allStatements, RHSpeaker speaker, RHConversation baseConversation) { DialogueOptionInitializer doi = new DialogueOptionInitializer(); void SelectionFunction(DialogueOption selectedOption) { baseConversation.QueueStatement(s, baseConversation.Speakers[0]); RHManager.CreateDialogueOptionList(allStatements, speaker, baseConversation, "Select your next Statement", FindObjectOfType <DialogueOptionBox>().GetScrollValue()); } string name = s.StatementName; if (name == null || name == "") { name = s.gameObject.name; } doi.SelectionText = name; doi.OnSelect = SelectionFunction; doi.CloseDialogueWindow = true; s.AddIcons(doi, speaker, baseConversation); string missingRequirements = baseConversation.MeetsRequirements(s, speaker); doi.Interactable = (missingRequirements == "Meets Requirements"); doi.hoverText = (doi.Interactable) ? s.GetHoverText(baseConversation) : missingRequirements; //string timeStr = s.Time.ToString("F2") + " s"; //doi.AddTextIcon(timeStr, Color.white); //foreach (RHListener l in baseConversation.Listeners.Keys) //{ // if (l == speaker.GetComponent<RHListener>()) // continue;v // float f = s.GetPower(baseConversation.Speakers[0], l, baseConversation); // Color c = proportionToColor(s.BasePower, f); // doi.AddTextIcon(f.ToString("F2"), c); // doi.Interactable = s.IsEnabled(baseConversation.Speakers[0],baseConversation); //} return(doi); }