Exemplo n.º 1
0
        /// <summary>
        /// Initializes the button with the given element info.
        /// </summary>
        public void Initialize(int inElementIndex, DMElementInfo inInfo, Action <DMButtonUI> inOnClick, int inIndent)
        {
            ElementIndex = inElementIndex;
            m_OnClick    = inOnClick;
            m_Label.SetText(inInfo.Label);

            RectOffset padding = m_IndentGroup.padding;

            padding.left          = inIndent;
            m_IndentGroup.padding = padding;

            SetInteractive(DMInfo.EvaluateOptionalPredicate(inInfo.Predicate), true);

            switch (inInfo.Type)
            {
            case DMElementType.Button:
            case DMElementType.Submenu:
            {
                SetToggleState(false, true);
                break;
            }

            case DMElementType.Toggle:
            {
                SetToggleState(inInfo.Toggle.Getter(), true);
                break;
            }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Updates all element's
        /// </summary>
        public void UpdateElements()
        {
            foreach (var button in m_ActiveButtons)
            {
                DMElementInfo info = m_CurrentMenu.Menu.Elements[button.ElementIndex];
                button.UpdateInteractive(DMInfo.EvaluateOptionalPredicate(info.Predicate));
                switch (info.Type)
                {
                case DMElementType.Toggle:
                {
                    button.UpdateToggleState(info.Toggle.Getter());
                    break;
                }
                }
            }

            foreach (var text in m_ActiveTexts)
            {
                DMTextInfo textInfo = m_CurrentMenu.Menu.Elements[text.ElementIndex].Text;
                text.UpdateValue(textInfo.Getter());
            }
        }