当前位置: 首页 > news >正文

【Editor】动态添加/移除宏定义

ProjectSetting中OtherSettings页签

执行工具指令

using UnityEditor;
using UnityEngine;
using System.Linq;

public class Tools : Editor
{
    //在菜单栏中点击自动添加
    [MenuItem("Tools/AddScriptingSymbols")]
    private static void AddScriptingSymbols()
    {
        //获取当前是哪个平台
        BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
        Debug.LogError("buildTargetGroup: " + buildTargetGroup);
        //获取当前平台已经存在的宏定义
        var symbolList = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
        Debug.LogError("Already exist symbolList: " + symbolList);
        //添加指定的宏定义
        var temp = symbolList.Split(';').ToList();
        if (temp.Contains("ENABLE_GMT"))
        {
            //已经存在,不再追加
            return;
        }
        temp.Add("ENABLE_GMT");
        symbolList = string.Join(";", temp);
        //保存
        PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, symbolList);
        Debug.LogError("添加后的宏: " + PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup));
    }

    [MenuItem("Tools/RemoveScriptingSymbols")]
    private static void RemoveScriptingSymbols()
    {
        //获取当前是哪个平台
        BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
        //获取当前平台已经存在的宏定义
        string symbolList = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
        var temp = symbolList.Split(';').ToList();
        //移除指定的宏定义
        if (!temp.Contains("ENABLE_GMT"))
        {
            return;
        }
        temp.Remove("ENABLE_GMT");
        symbolList = string.Join(";", temp);
        //保存
        PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, symbolList);
        Debug.LogError("移除后的宏: " + PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup));
    }
}

http://www.dtcms.com/a/79695.html

相关文章:

  • css重点知识汇总(一)
  • 人工智能在2025年:各行业现状与变革
  • CMS漏洞-WordPress篇
  • 掌握 Shopee 商品数据:用爬虫解锁无限商机
  • Linux Vim 寄存器 | 从基础分类到高级应用
  • 2024年数维杯数学建模A题多源机会信号建模与导航分析解题全过程论文及程序
  • 某著名企业采购供应链及财务管理业务流程框架规划方案P172(172页PPT)(文末有下载方式)
  • 目标检测中的非极大值抑制(NMS)原理与实现解析
  • AI时代,快时尚服饰品牌的DTC官方商城体系如何构建?|商派
  • kubernetes高级实战二
  • 算法复习——排列|组合|指数枚举
  • 架构设计的灵魂交响曲:系统设计各维度的深度解析与实战指南
  • 外卖订单如何教会我变量与数据类型?
  • 突破数据绝境:解锁永久删除文件重生
  • LLM 量化 cache管理
  • Super Logic Region (SLR) 在Xilinx FPGA架构
  • 对接股票金融数据源API
  • SPN专线+5G业务隔离+工作网+流量共享
  • 【算法day16】电话号码的字母组合
  • STC89C52单片机学习——第28节: [12-2] AT24C02数据存储秒表(定时器扫描按键数码管)
  • 回调函数中 qsort 函数的使用
  • dvwa的三个模式下sqlmap命令一把梭哈
  • 涨薪技术|Kubernetes(k8s)之yaml语法大全
  • 显示模块(LCD1602,OLED,四位数码管)
  • 腾讯云大模型知识引擎×DeepSeek:股票分析低代码应用实践
  • 企业数字化转型规划设计1(107页PPT)(文末有下载方式)
  • FPGA时钟约束
  • 实时内核稳定性问题 - 压测异常重启问题
  • 取消Win10锁屏界面上显示的天气、市场和广告的操作
  • 【 C/C++ 包管理工具】vcpkg安装+使用