private bool DrawPlatformSelector(NodeGUI node)
{
BuildTargetGroup g = currentEditingGroup;
bool editGroupChanged = false;
EditorGUI.BeginChangeCheck();
using (new EditorGUILayout.HorizontalScope()) {
var choosenIndex = -1;
for (var i = 0; i < NodeGUIUtility.platformButtons.Length; i++) {
var onOffBefore = NodeGUIUtility.platformButtons[i].targetGroup == currentEditingGroup;
var onOffAfter = onOffBefore;
GUIStyle toolbarbutton = new GUIStyle("toolbarbutton");
if(NodeGUIUtility.platformButtons[i].targetGroup == BuildTargetUtility.DefaultTarget) {
onOffAfter = GUILayout.Toggle(onOffBefore, NodeGUIUtility.platformButtons[i].ui, toolbarbutton);
} else {
var width = Mathf.Max(32f, toolbarbutton.CalcSize(NodeGUIUtility.platformButtons[i].ui).x);
onOffAfter = GUILayout.Toggle(onOffBefore, NodeGUIUtility.platformButtons[i].ui, toolbarbutton, GUILayout.Width( width ));
}
if (onOffBefore != onOffAfter) {
choosenIndex = i;
break;
}
}
if (EditorGUI.EndChangeCheck()) {
g = NodeGUIUtility.platformButtons[choosenIndex].targetGroup;
}
}
if (g != currentEditingGroup) {
currentEditingGroup = g;
editGroupChanged = true;
GUI.FocusControl(string.Empty);
}
return editGroupChanged;
}