Esempio n. 1
0
    public override void Construct()
    {
        m_UI = GameObject.Instantiate(m_Manager.battleOptionListPrefab, m_Manager.battleMenus);

        foreach (Option option in m_Options)
        {
            m_UI.Add(option.enabled, option.labels);
            m_UI[m_UI.Count - 1].Description = option.description;
        }

        m_UI.Index = m_Index;
        m_UI.Reset();
        m_UI.ShowDescription(m_Options[m_Index].description);
    }
Esempio n. 2
0
    public override UpdateResult Update()
    {
        if (Next != null)
        {
            UpdateResult result = Next.Update();
            if (result == UpdateResult.Canceled)
            {
                Next = null;
                m_UI.Interactable = true;
                m_UI.ShowDescription(m_Options[m_Index].description);
                return(UpdateResult.InProgress);
            }
            else
            {
                return(result);
            }
        }
        else
        {
            m_Index = m_UI.Index;

            if (Input.GetButtonDown("Cancel") || (Input.GetButtonDown("Horizontal") && Input.GetAxis("Horizontal") < 0f))
            {
                Destruct();
                return(UpdateResult.Canceled);
            }
            else if (Input.GetButtonDown("Submit") || (Input.GetButtonDown("Horizontal") && Input.GetAxis("Horizontal") > 0f))
            {
                if (m_Options[m_Index].enabled)
                {
                    m_UI.Interactable = false;
                    m_UI.HideDescription();
                    return(m_Options[m_Index].OnSelect(this));
                }
            }
        }

        return(UpdateResult.InProgress);
    }