Пример #1
0
    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);
    }
Пример #2
0
    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);
    }