Skip to content

Commit

Permalink
[增加]1. 增加UI系统的宏定义判断
Browse files Browse the repository at this point in the history
  • Loading branch information
AlianBlank committed Dec 7, 2024
1 parent 5eaac7a commit 0394ec4
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 4 deletions.
44 changes: 44 additions & 0 deletions Editor/UISystemScriptingDefineCheckHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using GameFrameX.Editor;
using UnityEditor;

namespace GameFrameX.UI.Editor
{
/// <summary>
/// 用于检查当前项目是否已定义了UI系统的宏定义符号。
/// 如果未定义任何UI系统的宏定义,则提示用户选择一个UI系统并启用相应的宏定义。
/// </summary>
public sealed class UISystemScriptingDefineCheckHandler
{
/// <summary>
/// 在加载时运行的方法,用于检查UI系统的宏定义符号。
/// </summary>
[InitializeOnLoadMethod]
static void Run()
{
// 检查是否定义了UGUI的宏定义符号。
var hasUGUIScriptingDefineSymbol = ScriptingDefineSymbols.HasScriptingDefineSymbol(EditorUserBuildSettings.selectedBuildTargetGroup, UISystemScriptingDefineSymbols.UGUIScriptingDefineSymbol);


// 检查是否定义了FairyGUI的宏定义符号。
var hasFairyGUIScriptingDefineSymbol = ScriptingDefineSymbols.HasScriptingDefineSymbol(EditorUserBuildSettings.selectedBuildTargetGroup, UISystemScriptingDefineSymbols.FairyGUIScriptingDefineSymbol);


// 如果未定义任何UI系统的宏定义符号,则提示用户选择一个UI系统。
if (!(hasFairyGUIScriptingDefineSymbol || hasUGUIScriptingDefineSymbol))
{
// 显示对话框,提示用户选择所需的UI系统。
var result = EditorUtility.DisplayDialog("没有检测到UI系统的宏定义存在", "请选择您所需要的UI系统,可以在菜单 GameFrameX/Scripting Define Symbols 中切换", "使用UGUI", "使用FairyGUI");

// 根据用户的选择启用相应的UI系统宏定义。
if (result)
{
UISystemScriptingDefineSymbols.EnableUGUISystem();
}
else
{
UISystemScriptingDefineSymbols.EnableFairyGUISystem();
}
}
}
}
}
3 changes: 3 additions & 0 deletions Editor/UISystemScriptingDefineCheckHandler.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Editor/UISystemScriptingDefineSymbols.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ namespace GameFrameX.UI.Editor
/// </summary>
public static class UISystemScriptingDefineSymbols
{
private const string UGUIScriptingDefineSymbol = "ENABLE_UI_UGUI";
private const string FairyGUIScriptingDefineSymbol = "ENABLE_UI_FAIRYGUI";
public const string UGUIScriptingDefineSymbol = "ENABLE_UI_UGUI";
public const string FairyGUIScriptingDefineSymbol = "ENABLE_UI_FAIRYGUI";

/// <summary>
/// 开启UGUI UI脚本宏定义。
/// </summary>
[MenuItem("GameFrameX/Scripting Define Symbols/Enable UGUI(开启UGUI适配)", false, 1000)]
public static void DisableForceWebSocketNetwork()
public static void EnableUGUISystem()
{
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(FairyGUIScriptingDefineSymbol);
ScriptingDefineSymbols.AddScriptingDefineSymbol(UGUIScriptingDefineSymbol);
Expand All @@ -32,7 +32,7 @@ public static void DisableForceWebSocketNetwork()
/// 开启FairyGUI UI脚本宏定义。
/// </summary>
[MenuItem("GameFrameX/Scripting Define Symbols/Enable FairyGUI(开启FairyGUI适配)", false, 1001)]
public static void EnableForceWebSocketNetwork()
public static void EnableFairyGUISystem()
{
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(UGUIScriptingDefineSymbol);
ScriptingDefineSymbols.AddScriptingDefineSymbol(FairyGUIScriptingDefineSymbol);
Expand Down

0 comments on commit 0394ec4

Please sign in to comment.