public void StubCode(CodeGenDescription desc, VisualElement ve) { LoadMonoScript(); if (desc.Type == typeof(Button)) { if (!ContainsCallback(desc.CallbackMethodName)) { var stubCode = EditorWindowCodeGen.GetMethodCode( methodName: desc.CallbackMethodName, debugLogMessage: $"{ve.name} Clicked"); StubCodeAndSave(windowEventFilePath, monoScript.text, stubCode); } } else { if (!ContainsCallback(desc.CallbackMethodName)) { var stubCode = EditorWindowCodeGen.GetEventMethodCode( methodName: desc.CallbackMethodName, eventTypeName: desc.EventTypeName, debugLogMessage: $"On {desc.EventTypeName}" ); StubCodeAndSave(windowEventFilePath, monoScript.text, stubCode); } } }
void GenerateCode(CodeGenDescription desc) { var treeAssetPath = Path; editorWindowCodeBuilder.Save(ClassName); var windowRegisterFilePath = Path.Replace(".uxml", ".RegisterCallbacks.cs"); var registerWindowScript = AssetDatabase.LoadAssetAtPath <MonoScript>(windowRegisterFilePath); if (registerWindowScript == null) { var registerScriptCode = EditorWindowCodeGen.GenerateEditorWindowRegisterCode(ClassName, treeAssetPath); SaveWindowScript(windowRegisterFilePath, registerScriptCode); } registerWindowScript = AssetDatabase.LoadAssetAtPath <MonoScript>(windowRegisterFilePath); var stubCode = string.Empty; if (desc.Type == typeof(Button)) { stubCode = EditorWindowCodeGen.GetRegisterClickedCode(CurrentSelection.name, desc.CallbackMethodName); } else { stubCode = EditorWindowCodeGen.GetRegisterCallbackCode(desc, CurrentSelection.name); } if (!registerWindowScript.text.Contains(stubCode)) { Debug.Log($"Add Method {stubCode}"); var script = EditorWindowCodeGen.GetStubbedCodeAtSecondLastIndexOfBlacket(registerWindowScript.text, stubCode); SaveWindowScript(windowRegisterFilePath, script); } editorWindowCodeBuilder.StubCode(desc, CurrentSelection); }
public void Save(string className) { LoadMonoScript(); if (monoScript == null) { var scriptCode = EditorWindowCodeGen.GenerateEditorWindowCode(className); // var eventScriptCode = EditorWindowCodeGen.GenerateEditorWindowEventCode(className); SaveWindowScript(windowEventFilePath, scriptCode); } }