在Unity中利用宏命令實(shí)現(xiàn)對代碼的開關(guān)

我們可以在Scripting Define Symbols中定義要使用的宏命令,如下圖所示,最簡單直接的辦法是此處直接輸入或者刪除宏命令來控制代碼開關(guān),但更好的方式是通過擴(kuò)展編輯器實(shí)現(xiàn)自動刪除或者添加宏命令。

tempsnip.jpg

核心代碼如下

    /// <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)平臺下的宏命令
        if (enable)
        {
            if (!currentDefines.Contains(define))
            {
                currentDefines += ";" + define;
            }
        }
        else
        {
            currentDefines = currentDefines.Replace(define, "");
        }
        PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, currentDefines);
    }

下面對編輯器進(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
    }

最終效果


捕獲.JPG
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Windows CMD命令大全 命令簡介 cmd是command的縮寫.即命令行 。 雖然隨著計(jì)算機(jī)產(chǎn)業(yè)的發(fā)展,W...
    獨(dú)行小生閱讀 705評論 0 5
  • 命令簡介 cmd是command的縮寫.即命令行 。 雖然隨著計(jì)算機(jī)產(chǎn)業(yè)的發(fā)展,Windows 操作系統(tǒng)的應(yīng)用越來...
    KarlReiss閱讀 748評論 0 0
  • 命令簡介 cmd是command的縮寫.即命令行 。 雖然隨著計(jì)算機(jī)產(chǎn)業(yè)的發(fā)展,Windows 操作系統(tǒng)的應(yīng)用越來...
    wp2001閱讀 223評論 0 0
  • 命令簡介 cmd是command的縮寫.即命令行 。 雖然隨著計(jì)算機(jī)產(chǎn)業(yè)的發(fā)展,Windows 操作系統(tǒng)的應(yīng)用越來...
    Littleston閱讀 3,430評論 0 12
  • 完全沒想到這篇文章的閱讀量有點(diǎn)多,之前沒有考慮什么就直接發(fā)布了,對此表示歉意,所以重新找了一篇文章匯總,以免在坑到...
    BabyFatXu閱讀 1,813評論 0 1

友情鏈接更多精彩內(nèi)容