Skip to content

Commit e83b90e

Browse files
committed
feat(editor): 新增多个小游戏平台宏定义助手并重构代码结构
将 MiniGameDefineSymbolHelper 重构为分部类,并新增百度、支付宝、抖音、TapTap、快手等小游戏平台的宏定义助手文件。 添加 DisableOtherMiniGameScriptingDefineSymbols 方法,确保在启用一个平台时自动关闭其他平台宏定义,避免冲突。
1 parent 0e6fc02 commit e83b90e

13 files changed

Lines changed: 387 additions & 84 deletions
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#if UNITY_WEBGL
2+
using UnityEditor;
3+
using UnityEngine;
4+
#endif
5+
6+
namespace GameFrameX.Editor
7+
{
8+
public static partial class MiniGameDefineSymbolHelper
9+
{
10+
public static readonly string[] EnableAlipayMiniGameScriptingDefineSymbol = new[] { "ENABLE_ALIPAY_MINI_GAME", "ALIPAYMINIGAME" };
11+
12+
#if UNITY_WEBGL
13+
[MenuItem("GameFrameX/Scripting Define Symbols/Enable Alipay Mini Game(开启[支付宝小游戏]适配)", false, 2400)]
14+
#endif
15+
public static void EnableAlipayMiniGame()
16+
{
17+
#if UNITY_WEBGL
18+
DisableOtherMiniGameScriptingDefineSymbols(EnableAlipayMiniGameScriptingDefineSymbol);
19+
20+
foreach (var define in EnableAlipayMiniGameScriptingDefineSymbol)
21+
{
22+
if (!ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
23+
{
24+
ScriptingDefineSymbols.AddScriptingDefineSymbol(define);
25+
}
26+
27+
Debug.Log($"支付宝小游戏宏定义 [{define}] 已经打开");
28+
}
29+
#endif
30+
}
31+
32+
#if UNITY_WEBGL
33+
[MenuItem("GameFrameX/Scripting Define Symbols/Disable Alipay Mini Game(关闭[支付宝小游戏]适配)", false, 2401)]
34+
#endif
35+
public static void DisableAlipayMiniGame()
36+
{
37+
#if UNITY_WEBGL
38+
foreach (var define in EnableAlipayMiniGameScriptingDefineSymbol)
39+
{
40+
if (ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
41+
{
42+
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(define);
43+
}
44+
45+
Debug.Log($"支付宝小游戏宏定义 [{define}] 已经关闭");
46+
}
47+
#endif
48+
}
49+
}
50+
}

Editor/MiniGame/MiniGameDefineSymbolHelper.Alipay.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#if UNITY_WEBGL
2+
using UnityEditor;
3+
using UnityEngine;
4+
#endif
5+
6+
namespace GameFrameX.Editor
7+
{
8+
public static partial class MiniGameDefineSymbolHelper
9+
{
10+
public static readonly string[] EnableBaiduMiniGameScriptingDefineSymbol = new[] { "ENABLE_BAIDU_MINI_GAME", "BAIDUMINIGAME" };
11+
12+
#if UNITY_WEBGL
13+
[MenuItem("GameFrameX/Scripting Define Symbols/Enable Baidu Mini Game(开启[百度小游戏]适配)", false, 2300)]
14+
#endif
15+
public static void EnableBaiduMiniGame()
16+
{
17+
#if UNITY_WEBGL
18+
DisableOtherMiniGameScriptingDefineSymbols(EnableBaiduMiniGameScriptingDefineSymbol);
19+
20+
foreach (var define in EnableBaiduMiniGameScriptingDefineSymbol)
21+
{
22+
if (!ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
23+
{
24+
ScriptingDefineSymbols.AddScriptingDefineSymbol(define);
25+
}
26+
27+
Debug.Log($"百度小游戏宏定义 [{define}] 已经打开");
28+
}
29+
#endif
30+
}
31+
32+
#if UNITY_WEBGL
33+
[MenuItem("GameFrameX/Scripting Define Symbols/Disable Baidu Mini Game(关闭[百度小游戏]适配)", false, 2301)]
34+
#endif
35+
public static void DisableBaiduMiniGame()
36+
{
37+
#if UNITY_WEBGL
38+
foreach (var define in EnableBaiduMiniGameScriptingDefineSymbol)
39+
{
40+
if (ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
41+
{
42+
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(define);
43+
}
44+
45+
Debug.Log($"百度小游戏宏定义 [{define}] 已经关闭");
46+
}
47+
#endif
48+
}
49+
}
50+
}

Editor/MiniGame/MiniGameDefineSymbolHelper.Baidu.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#if UNITY_WEBGL
2+
using UnityEditor;
3+
using UnityEngine;
4+
#endif
5+
6+
namespace GameFrameX.Editor
7+
{
8+
public static partial class MiniGameDefineSymbolHelper
9+
{
10+
public static readonly string[] EnableDouYinMiniGameScriptingDefineSymbol = new[] { "ENABLE_DOUYIN_MINI_GAME", "DOUYINMINIGAME", "TTSDK_MIX_ENGINE" };
11+
12+
#if UNITY_WEBGL
13+
[MenuItem("GameFrameX/Scripting Define Symbols/Enable DouYin Mini Game(开启[抖音小游戏]适配)", false, 2100)]
14+
#endif
15+
public static void EnableDouYinMiniGame()
16+
{
17+
#if UNITY_WEBGL
18+
DisableOtherMiniGameScriptingDefineSymbols(EnableDouYinMiniGameScriptingDefineSymbol);
19+
20+
foreach (var define in EnableDouYinMiniGameScriptingDefineSymbol)
21+
{
22+
if (!ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
23+
{
24+
ScriptingDefineSymbols.AddScriptingDefineSymbol(define);
25+
}
26+
27+
Debug.Log($"抖音小游戏宏定义 [{define}] 已经打开");
28+
}
29+
#endif
30+
}
31+
32+
#if UNITY_WEBGL
33+
[MenuItem("GameFrameX/Scripting Define Symbols/Disable DouYin Mini Game(关闭[抖音小游戏]适配)", false, 2101)]
34+
#endif
35+
public static void DisableDouYinMiniGame()
36+
{
37+
#if UNITY_WEBGL
38+
foreach (var define in EnableDouYinMiniGameScriptingDefineSymbol)
39+
{
40+
if (ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
41+
{
42+
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(define);
43+
}
44+
45+
Debug.Log($"抖音小游戏宏定义 [{define}] 已经关闭");
46+
}
47+
#endif
48+
}
49+
}
50+
}

Editor/MiniGame/MiniGameDefineSymbolHelper.DouYin.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#if UNITY_WEBGL
2+
using UnityEditor;
3+
using UnityEngine;
4+
#endif
5+
6+
namespace GameFrameX.Editor
7+
{
8+
public static partial class MiniGameDefineSymbolHelper
9+
{
10+
public static readonly string[] EnableKuaiShouMiniGameScriptingDefineSymbol = new[] { "ENABLE_KUAISHOU_MINI_GAME", "KUAISHOUMINIGAME" };
11+
12+
#if UNITY_WEBGL
13+
[MenuItem("GameFrameX/Scripting Define Symbols/Enable KuaiShou Mini Game(开启[快手小游戏]适配)", false, 2200)]
14+
#endif
15+
public static void EnableKuaiShouMiniGame()
16+
{
17+
#if UNITY_WEBGL
18+
DisableOtherMiniGameScriptingDefineSymbols(EnableKuaiShouMiniGameScriptingDefineSymbol);
19+
20+
foreach (var define in EnableKuaiShouMiniGameScriptingDefineSymbol)
21+
{
22+
if (!ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
23+
{
24+
ScriptingDefineSymbols.AddScriptingDefineSymbol(define);
25+
}
26+
27+
Debug.Log($"快手小游戏宏定义 [{define}] 已经打开");
28+
}
29+
#endif
30+
}
31+
32+
#if UNITY_WEBGL
33+
[MenuItem("GameFrameX/Scripting Define Symbols/Disable KuaiShou Mini Game(关闭[快手小游戏]适配)", false, 2201)]
34+
#endif
35+
public static void DisableKuaiShouMiniGame()
36+
{
37+
#if UNITY_WEBGL
38+
foreach (var define in EnableKuaiShouMiniGameScriptingDefineSymbol)
39+
{
40+
if (ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
41+
{
42+
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(define);
43+
}
44+
45+
Debug.Log($"快手小游戏宏定义 [{define}] 已经关闭");
46+
}
47+
#endif
48+
}
49+
}
50+
}

Editor/MiniGame/MiniGameDefineSymbolHelper.KuaiShou.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#if UNITY_WEBGL
2+
using UnityEditor;
3+
using UnityEngine;
4+
#endif
5+
6+
namespace GameFrameX.Editor
7+
{
8+
public static partial class MiniGameDefineSymbolHelper
9+
{
10+
public static readonly string[] EnableTapTapMiniGameScriptingDefineSymbol = new[] { "ENABLE_TAPTAP_MINI_GAME", "TAPTAPMINIGAME" };
11+
12+
#if UNITY_WEBGL
13+
[MenuItem("GameFrameX/Scripting Define Symbols/Enable TapTap Mini Game(开启[TapTap小游戏]适配)", false, 2500)]
14+
#endif
15+
public static void EnableTapTapMiniGame()
16+
{
17+
#if UNITY_WEBGL
18+
DisableOtherMiniGameScriptingDefineSymbols(EnableTapTapMiniGameScriptingDefineSymbol);
19+
20+
foreach (var define in EnableTapTapMiniGameScriptingDefineSymbol)
21+
{
22+
if (!ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
23+
{
24+
ScriptingDefineSymbols.AddScriptingDefineSymbol(define);
25+
}
26+
27+
Debug.Log($"TapTap小游戏宏定义 [{define}] 已经打开");
28+
}
29+
#endif
30+
}
31+
32+
#if UNITY_WEBGL
33+
[MenuItem("GameFrameX/Scripting Define Symbols/Disable TapTap Mini Game(关闭[TapTap小游戏]适配)", false, 2501)]
34+
#endif
35+
public static void DisableTapTapMiniGame()
36+
{
37+
#if UNITY_WEBGL
38+
foreach (var define in EnableTapTapMiniGameScriptingDefineSymbol)
39+
{
40+
if (ScriptingDefineSymbols.HasScriptingDefineSymbol(BuildTargetGroup.WebGL, define))
41+
{
42+
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(define);
43+
}
44+
45+
Debug.Log($"TapTap小游戏宏定义 [{define}] 已经关闭");
46+
}
47+
#endif
48+
}
49+
}
50+
}

Editor/MiniGame/MiniGameDefineSymbolHelper.TapTap.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)