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; }
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; }