58 lines
2.1 KiB
C#
58 lines
2.1 KiB
C#
|
using System.Collections.Generic;
|
||
|
using UnityEditor;
|
||
|
|
||
|
namespace Mirror
|
||
|
{
|
||
|
static class PreprocessorDefine
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Add define symbols as soon as Unity gets done compiling.
|
||
|
/// </summary>
|
||
|
[InitializeOnLoadMethod]
|
||
|
public static void AddDefineSymbols()
|
||
|
{
|
||
|
string currentDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
|
||
|
HashSet<string> defines = new HashSet<string>(currentDefines.Split(';'))
|
||
|
{
|
||
|
"MIRROR",
|
||
|
"MIRROR_17_0_OR_NEWER",
|
||
|
"MIRROR_18_0_OR_NEWER",
|
||
|
"MIRROR_24_0_OR_NEWER",
|
||
|
"MIRROR_26_0_OR_NEWER",
|
||
|
"MIRROR_27_0_OR_NEWER",
|
||
|
"MIRROR_28_0_OR_NEWER",
|
||
|
"MIRROR_29_0_OR_NEWER",
|
||
|
"MIRROR_30_0_OR_NEWER",
|
||
|
"MIRROR_30_5_2_OR_NEWER",
|
||
|
"MIRROR_32_1_2_OR_NEWER",
|
||
|
"MIRROR_32_1_4_OR_NEWER",
|
||
|
"MIRROR_35_0_OR_NEWER",
|
||
|
"MIRROR_35_1_OR_NEWER",
|
||
|
"MIRROR_37_0_OR_NEWER",
|
||
|
"MIRROR_38_0_OR_NEWER",
|
||
|
"MIRROR_39_0_OR_NEWER",
|
||
|
"MIRROR_40_0_OR_NEWER",
|
||
|
"MIRROR_41_0_OR_NEWER",
|
||
|
"MIRROR_42_0_OR_NEWER",
|
||
|
"MIRROR_43_0_OR_NEWER",
|
||
|
"MIRROR_44_0_OR_NEWER",
|
||
|
"MIRROR_46_0_OR_NEWER",
|
||
|
"MIRROR_47_0_OR_NEWER",
|
||
|
"MIRROR_53_0_OR_NEWER",
|
||
|
"MIRROR_55_0_OR_NEWER",
|
||
|
"MIRROR_57_0_OR_NEWER",
|
||
|
"MIRROR_58_0_OR_NEWER",
|
||
|
"MIRROR_65_0_OR_NEWER"
|
||
|
};
|
||
|
|
||
|
// only touch PlayerSettings if we actually modified it.
|
||
|
// otherwise it shows up as changed in git each time.
|
||
|
string newDefines = string.Join(";", defines);
|
||
|
if (newDefines != currentDefines)
|
||
|
{
|
||
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, newDefines);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|