using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Linq; #if UNITY_EDITOR using UnityEditor; #endif namespace MoreMountains.Feedbacks { #if UNITY_EDITOR /// /// This class lets you specify (in code, by editing it) symbols that will be added to the build settings' define symbols list automatically /// [InitializeOnLoad] public class MMFeedbacksDefineSymbols { /// /// A list of all the symbols you want added to the build settings /// public static readonly string[] Symbols = new string[] { "MOREMOUNTAINS_FEEDBACKS" }; /// /// As soon as this class has finished compiling, adds the specified define symbols to the build settings /// static MMFeedbacksDefineSymbols() { string scriptingDefinesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup); List scriptingDefinesStringList = scriptingDefinesString.Split(';').ToList(); scriptingDefinesStringList.AddRange(Symbols.Except(scriptingDefinesStringList)); PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", scriptingDefinesStringList.ToArray())); } } #endif }