public static void OpenWindow() { var instance = GetWindow <BuildingTypesCodeGeneratorEditor>(); instance.autoRepaintOnSceneChange = true; instance.maxSize = new Vector2(500, 300); instance.Show(); BuildingTypesCodeGeneratorEditor.instance = instance; #if !UC_Free data = BuildingTypesCodeGenerator.LoadEnumData(); #endif }
void OnGUI() { #if !UC_Free removeButtonClicked = Event.current.control && string.IsNullOrEmpty(GUI.GetNameOfFocusedControl()); if (data == null) { data = BuildingTypesCodeGenerator.LoadEnumData(); } if (boxStyle == null) { boxStyle = new GUIStyle(GUI.skin.box); boxStyle.alignment = TextAnchor.UpperLeft; boxStyle.fontStyle = FontStyle.Bold; boxStyle.normal.textColor = Color.white; } EditorGUILayout.BeginVertical(boxStyle); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); for (int i = 0; i < data.Count; i++) { EditorGUILayout.BeginHorizontal(); data[i] = EditorGUILayout.TextField("Enum Field Name :", data[i]); if (removeButtonClicked) { if (GUILayout.Button("-", GUILayout.Width(20))) { if (EditorUtility.DisplayDialog("Remove Enum Property", string.Format("Are u sure you want to remove {0} permanently ?", data[i]), "Yes", "No")) { data.Remove(data[i]); } } } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(boxStyle); EditorGUILayout.LabelField("", GUILayout.Height(0.5f)); EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Create Enum Field")) { data.Add("Field : " + (data.Count + 1)); } if (GUILayout.Button("Compile Assembly")) { BuildingTypesCodeGenerator.CompileAssembly(data); } EditorGUILayout.EndVertical(); EditorGUILayout.EndScrollView(); #else EditorGUILayout.LabelField("uConstruct's Code Generator is not available in uConstruct Free."); #endif }