Skip to content

Commit 5fa11fe

Browse files
committed
feat(editor): 添加小游戏统一宏定义管理
在启用或关闭各平台小游戏宏定义时,自动管理统一的ENABLE_WEBGL_MINI_GAME宏定义 当有任何平台小游戏宏定义启用时,自动启用统一宏定义 当所有平台小游戏宏定义关闭时,自动关闭统一宏定义
1 parent c01f137 commit 5fa11fe

7 files changed

Lines changed: 87 additions & 0 deletions

Editor/MiniGame/MiniGameDefineSymbolHelper.Alipay.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static void EnableAlipayMiniGame()
2626

2727
Debug.Log($"支付宝小游戏宏定义 [{define}] 已经打开");
2828
}
29+
30+
EnableUnifiedMiniGameScriptingDefineSymbol();
2931
#endif
3032
}
3133

@@ -44,6 +46,8 @@ public static void DisableAlipayMiniGame()
4446

4547
Debug.Log($"支付宝小游戏宏定义 [{define}] 已经关闭");
4648
}
49+
50+
RefreshUnifiedMiniGameScriptingDefineSymbol();
4751
#endif
4852
}
4953
}

Editor/MiniGame/MiniGameDefineSymbolHelper.Baidu.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static void EnableBaiduMiniGame()
2626

2727
Debug.Log($"百度小游戏宏定义 [{define}] 已经打开");
2828
}
29+
30+
EnableUnifiedMiniGameScriptingDefineSymbol();
2931
#endif
3032
}
3133

@@ -44,6 +46,8 @@ public static void DisableBaiduMiniGame()
4446

4547
Debug.Log($"百度小游戏宏定义 [{define}] 已经关闭");
4648
}
49+
50+
RefreshUnifiedMiniGameScriptingDefineSymbol();
4751
#endif
4852
}
4953
}

Editor/MiniGame/MiniGameDefineSymbolHelper.DouYin.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static void EnableDouYinMiniGame()
2626

2727
Debug.Log($"抖音小游戏宏定义 [{define}] 已经打开");
2828
}
29+
30+
EnableUnifiedMiniGameScriptingDefineSymbol();
2931
#endif
3032
}
3133

@@ -44,6 +46,8 @@ public static void DisableDouYinMiniGame()
4446

4547
Debug.Log($"抖音小游戏宏定义 [{define}] 已经关闭");
4648
}
49+
50+
RefreshUnifiedMiniGameScriptingDefineSymbol();
4751
#endif
4852
}
4953
}

Editor/MiniGame/MiniGameDefineSymbolHelper.KuaiShou.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static void EnableKuaiShouMiniGame()
2626

2727
Debug.Log($"快手小游戏宏定义 [{define}] 已经打开");
2828
}
29+
30+
EnableUnifiedMiniGameScriptingDefineSymbol();
2931
#endif
3032
}
3133

@@ -44,6 +46,8 @@ public static void DisableKuaiShouMiniGame()
4446

4547
Debug.Log($"快手小游戏宏定义 [{define}] 已经关闭");
4648
}
49+
50+
RefreshUnifiedMiniGameScriptingDefineSymbol();
4751
#endif
4852
}
4953
}

Editor/MiniGame/MiniGameDefineSymbolHelper.TapTap.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static void EnableTapTapMiniGame()
2626

2727
Debug.Log($"TapTap小游戏宏定义 [{define}] 已经打开");
2828
}
29+
30+
EnableUnifiedMiniGameScriptingDefineSymbol();
2931
#endif
3032
}
3133

@@ -44,6 +46,8 @@ public static void DisableTapTapMiniGame()
4446

4547
Debug.Log($"TapTap小游戏宏定义 [{define}] 已经关闭");
4648
}
49+
50+
RefreshUnifiedMiniGameScriptingDefineSymbol();
4751
#endif
4852
}
4953
}

Editor/MiniGame/MiniGameDefineSymbolHelper.WeChat.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public static void EnableWeChatMiniGame()
2626

2727
Debug.Log($"微信小游戏宏定义 [{define}] 已经打开");
2828
}
29+
30+
EnableUnifiedMiniGameScriptingDefineSymbol();
2931
#endif
3032
}
3133

@@ -44,6 +46,8 @@ public static void DisableWeChatMiniGame()
4446

4547
Debug.Log($"微信小游戏宏定义 [{define}] 已经关闭");
4648
}
49+
50+
RefreshUnifiedMiniGameScriptingDefineSymbol();
4751
#endif
4852
}
4953
}

Editor/MiniGame/MiniGameDefineSymbolHelper.cs

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ namespace GameFrameX.Editor
99
/// </summary>
1010
public static partial class MiniGameDefineSymbolHelper
1111
{
12+
private const string EnableWebGLMiniGameScriptingDefineSymbol = "ENABLE_WEBGL_MINI_GAME";
13+
1214
private static string[][] GetAllMiniGameScriptingDefineSymbols()
1315
{
1416
return new[]
@@ -52,6 +54,67 @@ private static void DisableOtherMiniGameScriptingDefineSymbols(string[] currentM
5254
}
5355

5456
UnityEngine.Debug.Log($"小游戏宏定义互斥清理完成,共关闭 {closedCount} 个宏定义");
57+
#endif
58+
}
59+
60+
private static void EnableUnifiedMiniGameScriptingDefineSymbol()
61+
{
62+
#if UNITY_WEBGL
63+
if (ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, EnableWebGLMiniGameScriptingDefineSymbol))
64+
{
65+
return;
66+
}
67+
68+
ScriptingDefineSymbols.AddScriptingDefineSymbol(EnableWebGLMiniGameScriptingDefineSymbol);
69+
UnityEngine.Debug.Log($"小游戏统一宏定义 [{EnableWebGLMiniGameScriptingDefineSymbol}] 已经打开");
70+
#endif
71+
}
72+
73+
private static void RefreshUnifiedMiniGameScriptingDefineSymbol()
74+
{
75+
#if UNITY_WEBGL
76+
var hasAnyMiniGameDefine = false;
77+
foreach (var defineSymbols in GetAllMiniGameScriptingDefineSymbols())
78+
{
79+
if (defineSymbols == null)
80+
{
81+
continue;
82+
}
83+
84+
foreach (var define in defineSymbols)
85+
{
86+
if (!ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
87+
{
88+
continue;
89+
}
90+
91+
hasAnyMiniGameDefine = true;
92+
break;
93+
}
94+
95+
if (hasAnyMiniGameDefine)
96+
{
97+
break;
98+
}
99+
}
100+
101+
var hasUnifiedMiniGameDefine = ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, EnableWebGLMiniGameScriptingDefineSymbol);
102+
if (hasAnyMiniGameDefine)
103+
{
104+
if (!hasUnifiedMiniGameDefine)
105+
{
106+
ScriptingDefineSymbols.AddScriptingDefineSymbol(EnableWebGLMiniGameScriptingDefineSymbol);
107+
UnityEngine.Debug.Log($"小游戏统一宏定义 [{EnableWebGLMiniGameScriptingDefineSymbol}] 已经打开");
108+
}
109+
110+
return;
111+
}
112+
113+
if (hasUnifiedMiniGameDefine)
114+
{
115+
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(EnableWebGLMiniGameScriptingDefineSymbol);
116+
UnityEngine.Debug.Log($"小游戏统一宏定义 [{EnableWebGLMiniGameScriptingDefineSymbol}] 已经关闭");
117+
}
55118
#endif
56119
}
57120
}

0 commit comments

Comments
 (0)