当前位置: 首页 > 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));
    }
}

相关文章:

  • 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数据存储秒表(定时器扫描按键数码管)
  • 外媒称北斗挑战GPS地位,外交部:中国的北斗也是世界的北斗
  • 财政部:今年将和住建部选拔第二批20个城市,高质量推进城市更新行动
  • 体坛联播|利物浦三轮不胜,孙颖莎/王楚钦晋级混双八强
  • 零跑汽车一季度营收破百亿元:净亏收窄至1.3亿元,毛利率14.9%创新高
  • 海南省检察院专委李思阳被带走,去年曾遭人举报违规插手案件
  • 半数以上中国人都缺这几种营养,吃什么能补回来?