我們可以在Scripting Define Symbols
中定義要使用的宏命令删窒,如下圖所示否彩,最簡(jiǎn)單直接的辦法是此處直接輸入或者刪除宏命令來(lái)控制代碼開(kāi)關(guān)讼昆,但更好的方式是通過(guò)擴(kuò)展編輯器實(shí)現(xiàn)自動(dòng)刪除或者添加宏命令蒙袍。
核心代碼如下
/// <summary>
/// 添加或者刪除宏命令
/// </summary>
/// <param name="define">宏命令</param>
/// <param name="enable">添加或刪除</param>
public static void SetDefineSymbols(string define, bool enable)
{
string currentDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone);//獲取目標(biāo)平臺(tái)下的宏命令
if (enable)
{
if (!currentDefines.Contains(define))
{
currentDefines += ";" + define;
}
}
else
{
currentDefines = currentDefines.Replace(define, "");
}
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, currentDefines);
}
下面對(duì)編輯器進(jìn)行擴(kuò)展
[MenuItem("DevelopmentHandler/Test")]
public static void TestOn()
{
#if TEST_ON
SetDefineSymbols("TEST_ON", false);//刪除TEST_ON宏命令
Menu.SetChecked("DevelopmentHandler/Test", false);//取消勾選狀態(tài)
#else
SetDefineSymbols("TEST_ON", true);//添加TEST_ON宏命令
Menu.SetChecked("DevelopmentHandler/Test", true);//設(shè)置勾選狀態(tài)
#endif
}
最終效果