Ejemplo n.º 1
0
        private void DisplayButtonSection(ToolButton[] btns, int buttonsPerLine, GUIStyle btnStyle, OnToolButton callback, System.Enum selection = null)
        {
            var buttons = btns.Count();
            var btn     = 0;

            var guiEnabled = GUI.enabled;

            while (btn < buttons)
            {
                GUILayout.BeginHorizontal();

                var defaultColor = GUI.backgroundColor;

                for (var i = 0; i < buttonsPerLine; i++)
                {
                    var meshCommand = btns[btn];

                    if (selection != null && Equals(meshCommand.commandEnum, selection))
                    {
                        GUI.backgroundColor = Color.gray;
                    }

                    GUI.enabled = meshCommand.enabled;

                    if (GUILayout.Button(Resources.Load(meshCommand.icon) as Texture2D, btnStyle))
                    {
                        callback(meshCommand);
                    }

                    btn++;

                    GUI.backgroundColor = defaultColor;

                    if (btn >= buttons)
                    {
                        break;
                    }
                }

                GUILayout.EndHorizontal();
            }

            GUI.enabled = guiEnabled;
        }
Ejemplo n.º 2
0
        private void DisplayButtonSection(ToolButton[] btns, int buttonsPerLine, GUIStyle btnStyle, OnToolButton callback, System.Enum selection = null)
        {
            var buttons = btns.Count();
            var btn = 0;

            var guiEnabled = GUI.enabled;

            while (btn < buttons)
            {
                GUILayout.BeginHorizontal();

                var defaultColor = GUI.backgroundColor;

                for (var i = 0; i < buttonsPerLine; i++)
                {
                    var meshCommand = btns[btn];

                    if (selection != null && Equals(meshCommand.commandEnum, selection))
                    {
                        GUI.backgroundColor = Color.gray;
                    }

                    GUI.enabled = meshCommand.enabled;

                    if (GUILayout.Button(Resources.Load(meshCommand.icon) as Texture2D, btnStyle))
                    {
                        callback(meshCommand);
                    }

                    btn++;

                    GUI.backgroundColor = defaultColor;

                    if (btn >= buttons)
                        break;
                }

                GUILayout.EndHorizontal();
            }

            GUI.enabled = guiEnabled;
        }