void drawGenerateButton() { var bgColor = GUI.backgroundColor; GUI.backgroundColor = Color.green; if(GUILayout.Button("Generate", GUILayout.Height(32))) { UnityCodeGenerator.Generate(); } GUI.backgroundColor = bgColor; }
static void drawGenerateButton() { EditorGUILayout.Space(); if (GUILayout.Button("Generate")) { UnityCodeGenerator.Generate(); } }
void drawCodeGenerators() { EditorGUILayout.Space(); EditorGUILayout.LabelField("Code Generators", EditorStyles.boldLabel); var enabledCodeGenerators = new HashSet <string>(_codeGeneratorConfig.enabledCodeGenerators); var availableGeneratorNames = new HashSet <string>(); EntitasEditorLayout.BeginHorizontal(); { var rect = EntitasEditorLayout.BeginVertical(); if (rect.height > 0) { _generatorsRectHeight = rect.height - 2; } { foreach (var codeGenerator in _codeGenerators) { availableGeneratorNames.Add(codeGenerator.Name); var isEnabled = enabledCodeGenerators.Contains(codeGenerator.Name); isEnabled = EditorGUILayout.Toggle(codeGenerator.Name.Replace("Generator", string.Empty), isEnabled); if (isEnabled) { enabledCodeGenerators.Add(codeGenerator.Name); } else { enabledCodeGenerators.Remove(codeGenerator.Name); } } } EntitasEditorLayout.EndVertical(); var bgColor = GUI.backgroundColor; GUI.backgroundColor = Color.green; if (GUILayout.Button("Generate", GUILayout.Width(200), GUILayout.Height(_generatorsRectHeight))) { UnityCodeGenerator.Generate(); } GUI.backgroundColor = bgColor; } EntitasEditorLayout.EndHorizontal(); foreach (var generatorName in _codeGeneratorConfig.enabledCodeGenerators.ToArray()) { if (!availableGeneratorNames.Contains(generatorName)) { enabledCodeGenerators.Remove(generatorName); } } var sortedCodeGenerators = enabledCodeGenerators.ToArray(); Array.Sort(sortedCodeGenerators); _codeGeneratorConfig.enabledCodeGenerators = sortedCodeGenerators; }
void drawCodeGenerators() { EditorGUILayout.Space(); EditorGUILayout.LabelField("Code Generators", EditorStyles.boldLabel); var enabledCodeGenerators = new HashSet <string>(_codeGeneratorConfig.enabledCodeGenerators); var availableGeneratorNames = new HashSet <string>(); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.BeginVertical(); { foreach (var codeGenerator in _codeGenerators) { availableGeneratorNames.Add(codeGenerator.Name); var isEnabled = enabledCodeGenerators.Contains(codeGenerator.Name); isEnabled = EditorGUILayout.Toggle(codeGenerator.Name, isEnabled); if (isEnabled) { enabledCodeGenerators.Add(codeGenerator.Name); } else { enabledCodeGenerators.Remove(codeGenerator.Name); } } } EditorGUILayout.EndVertical(); if (GUILayout.Button("Generate", GUILayout.Width(200), GUILayout.Height(68))) { UnityCodeGenerator.Generate(); } } EditorGUILayout.EndHorizontal(); foreach (var generatorName in _codeGeneratorConfig.enabledCodeGenerators.ToArray()) { if (!availableGeneratorNames.Contains(generatorName)) { enabledCodeGenerators.Remove(generatorName); } } var sortedCodeGenerators = enabledCodeGenerators.ToArray(); Array.Sort(sortedCodeGenerators); _codeGeneratorConfig.enabledCodeGenerators = sortedCodeGenerators; }
void drawCodeGenerators() { EditorGUILayout.Space(); EditorGUILayout.LabelField("Code Generators", EditorStyles.boldLabel); var enabledCodeGeneratorsMask = 0; for (int i = 0; i < _availableGeneratorNames.Length; i++) { if (_codeGeneratorConfig.enabledCodeGenerators.Contains(_availableGeneratorNames[i])) { enabledCodeGeneratorsMask += (1 << i); } } enabledCodeGeneratorsMask = EditorGUILayout.MaskField("Code Generators", enabledCodeGeneratorsMask, _availableGeneratorNames); var enabledCodeGenerators = new List <string>(); for (int i = 0; i < _availableGeneratorNames.Length; i++) { var index = 1 << i; if ((index & enabledCodeGeneratorsMask) == index) { enabledCodeGenerators.Add(_availableGeneratorNames[i]); } } var bgColor = GUI.backgroundColor; GUI.backgroundColor = Color.green; if (GUILayout.Button("Generate", GUILayout.Height(32))) { UnityCodeGenerator.Generate(); } GUI.backgroundColor = bgColor; _codeGeneratorConfig.enabledCodeGenerators = enabledCodeGenerators.ToArray(); }
public void Draw(EntitasPreferencesConfig config) { EntitasEditorLayout.BeginVerticalBox(); { EditorGUILayout.LabelField("Code Generator", EditorStyles.boldLabel); drawGeneratedFolderPath(); drawContexts(); _codeGeneratorConfig.dataProviders = drawMaskField("Data Providers", _availableDataProviderTypes, _availableDataProviderNames, _codeGeneratorConfig.dataProviders); _codeGeneratorConfig.codeGenerators = drawMaskField("Code Generators", _availableGeneratorTypes, _availableGeneratorNames, _codeGeneratorConfig.codeGenerators); _codeGeneratorConfig.postProcessors = drawMaskField("Post Processors", _availablePostProcessorTypes, _availablePostProcessorNames, _codeGeneratorConfig.postProcessors); var bgColor = GUI.backgroundColor; GUI.backgroundColor = Color.green; if (GUILayout.Button("Generate", GUILayout.Height(32))) { UnityCodeGenerator.Generate(); } GUI.backgroundColor = bgColor; } EntitasEditorLayout.EndVertical(); }