Пример #1
0
        internal bool ShowComboBox(string label, GUIContent[] items, ref ComboBoxLO combo, ref int idx,
                                   Action <int> func)
        {
            GUILayout.BeginHorizontal();
            try {
                GUILayout.Label(label, uiParams.lStyle, optItemHeight);

                GUILayout.Space(uiParams.marginL);
                if (combo == null)
                {
                    var selected = (idx >= 0 && idx < items.Length) ? items[idx] : GUIContent.none;
                    combo = new ComboBoxLO(selected, items, uiParams.bStyleSC, uiParams.boxStyle, uiParams.listStyle,
                                           false);
                }
                else
                {
                    combo.SelectedItemIndex = idx;
                }

                combo.Show(GUILayout.ExpandWidth(true)); //uiParams.optInsideWidth);

                var selectedIdx = combo.SelectedItemIndex;
                if (idx == selectedIdx || selectedIdx == -1)
                {
                    return(false);
                }

                idx = selectedIdx;
                func(selectedIdx);
                return(true);
            } finally {
                GUILayout.EndHorizontal();
            }
        }
Пример #2
0
        // Token: 0x0600030D RID: 781 RVA: 0x00018B24 File Offset: 0x00016D24
        internal bool ShowComboBox(string label, GUIContent[] items, ref ComboBoxLO combo, ref int idx, Action <int> func)
        {
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            bool result;

            try
            {
                GUILayout.Label(label, this.uiParams.lStyle, new GUILayoutOption[]
                {
                    this.optItemHeight
                });
                GUILayout.Space((float)this.uiParams.marginL);
                if (combo == null)
                {
                    GUIContent buttonContent = (idx >= 0 && idx < items.Length) ? items[idx] : GUIContent.none;
                    combo = new ComboBoxLO(buttonContent, items, this.uiParams.bStyleSC, this.uiParams.boxStyle, this.uiParams.listStyle, false);
                }
                else
                {
                    combo.SelectedItemIndex = idx;
                }
                combo.Show(GUILayout.ExpandWidth(true));
                int selectedItemIndex = combo.SelectedItemIndex;
                if (idx == selectedItemIndex || selectedItemIndex == -1)
                {
                    result = false;
                }
                else
                {
                    idx = selectedItemIndex;
                    func(selectedItemIndex);
                    result = true;
                }
            }
            finally
            {
                GUILayout.EndHorizontal();
            }
            return(result);
        }