AlicizaX/Client/Packages/com.alicizax.unity.ui/Editor/GenerateTool/UIGenerateEditorWindow.cs

43 lines
1.2 KiB
C#
Raw Normal View History

2025-03-04 18:40:14 +08:00
using UnityEditor;
using UnityEngine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using AlicizaX.UI.Editor;
using AlicizaX.UI.Runtime;
2025-04-28 19:45:45 +08:00
using UnityEngine.UIElements;
2025-03-04 18:40:14 +08:00
public class UIGenerateWindow : EditorWindow
{
private GameObject targetObject;
public static GameObject GetTargetObject()
{
return GetWindow<UIGenerateWindow>().targetObject;
}
2025-04-28 19:45:45 +08:00
public static void ShowWindow(GameObject target, UIScriptGenerateData scriptGenerateData)
2025-03-04 18:40:14 +08:00
{
2025-07-11 21:00:00 +08:00
var window = GetWindow<UIGenerateWindow>(false, "UI Config Editor", false);
window.maxSize = Vector2.zero;
window.minSize = Vector2.zero;
2025-04-28 19:45:45 +08:00
window.rootVisualElement.style.display = DisplayStyle.None;
2025-07-11 21:00:00 +08:00
window.rootVisualElement.parent.style.display = DisplayStyle.None;
window.Initlize(target, scriptGenerateData);
2025-03-04 18:40:14 +08:00
}
2025-04-28 19:45:45 +08:00
public static void CloseWindow()
2025-03-04 18:40:14 +08:00
{
2025-04-28 19:45:45 +08:00
var window = GetWindow<UIGenerateWindow>(false, "UI Config Editor");
window.Close();
2025-03-04 18:40:14 +08:00
}
2025-04-28 19:45:45 +08:00
private void Initlize(GameObject target, UIScriptGenerateData scriptGenerateData)
2025-03-04 18:40:14 +08:00
{
2025-04-28 19:45:45 +08:00
targetObject = target;
UIScriptGeneratorHelper.GenerateAndAttachScript(targetObject, scriptGenerateData);
2025-03-04 18:40:14 +08:00
}
}