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));}
}