| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEditor;
- using UnityEditor.Build;
- namespace SoftKitty.MasterCharacterCreator
- {
- public class Utils
- {
- private static readonly string MccDefineSymbol = "MASTER_CHARACTER_CREATOR";
- private static bool Initialized = false;
- public static void SetDefineSymbolOnBuildTargetGroup(BuildTargetGroup targetGroup)
- {
- #if UNITY_2021_2_OR_NEWER
- var namedBuildTarget = NamedBuildTarget.FromBuildTargetGroup(targetGroup);
- string currData = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget);
- #else
- string currData = PlayerSettings.GetScriptingDefineSymbolsForGroup( targetGroup );
- #endif
- if (!currData.Contains(MccDefineSymbol))
- {
- if (string.IsNullOrEmpty(currData))
- {
- #if UNITY_2021_2_OR_NEWER
- PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, MccDefineSymbol);
- #else
- PlayerSettings.SetScriptingDefineSymbolsForGroup( targetGroup, MccDefineSymbol );
- #endif
- }
- else
- {
- if (!currData[currData.Length - 1].Equals(';'))
- {
- currData += ';';
- }
- currData += MccDefineSymbol;
- #if UNITY_2021_2_OR_NEWER
- PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, currData);
- #else
- PlayerSettings.SetScriptingDefineSymbolsForGroup( targetGroup, currData );
- #endif
- }
- }
- }
- [InitializeOnLoadMethod]
- public static void Init()
- {
- if (!Initialized)
- {
- SetDefineSymbolOnBuildTargetGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
- Initialized = true;
- }
- }
- }
- }
|