Пример #1
0
        internal override void SetWidget(DebugUI.Widget widget)
        {
            base.SetWidget(widget);
            m_Field        = CastWidget <DebugUI.BitField>();
            m_Container    = GetComponent <DebugUIHandlerContainer>();
            nameLabel.text = m_Field.displayName;

            int toggleIndex = 0;

            foreach (var enumName in m_Field.enumNames)
            {
                if (toggleIndex >= toggles.Count)
                {
                    continue;
                }

                var toggle = toggles[toggleIndex];
                toggle.getter            = GetValue;
                toggle.setter            = SetValue;
                toggle.nextUIHandler     = toggleIndex < (m_Field.enumNames.Length - 1) ? toggles[toggleIndex + 1] : null;
                toggle.previousUIHandler = toggleIndex > 0 ? toggles[toggleIndex - 1] : null;
                toggle.parentUIHandler   = this;
                toggle.index             = toggleIndex;
                toggle.nameLabel.text    = enumName.text;
                toggle.Init();
                toggleIndex++;
            }
            ;

            for (; toggleIndex < toggles.Count; ++toggleIndex)
            {
                toggles[toggleIndex].transform.SetParent(null);
            }
        }
Пример #2
0
        internal override void SetWidget(DebugUI.Widget widget)
        {
            base.SetWidget(widget);
            m_Field        = CastWidget <DebugUI.BitField>();
            m_Container    = GetComponent <DebugUIHandlerContainer>();
            nameLabel.text = m_Field.displayName;

            int toggleIndex = 0;

            foreach (var enumName in m_Field.enumNames)
            {
                if (toggleIndex >= toggles.Count)
                {
                    continue;
                }

                var toggle = toggles[toggleIndex];
                toggle.getter            = GetValue;
                toggle.setter            = SetValue;
                toggle.nextUIHandler     = toggleIndex < (m_Field.enumNames.Length - 1) ? toggles[toggleIndex + 1] : null;
                toggle.previousUIHandler = toggleIndex > 0 ? toggles[toggleIndex - 1] : null;
                toggle.parentUIHandler   = this;
                toggle.index             = toggleIndex;
                toggle.nameLabel.text    = enumName.text;
                toggle.Init();
                toggleIndex++;
            }

            // Destroy the remaining toggles outside of the range of the displayed enum.
            for (; toggleIndex < toggles.Count; ++toggleIndex)
            {
                CoreUtils.Destroy(toggles[toggleIndex].gameObject);
                toggles[toggleIndex] = null;
            }
        }