示例#1
0
        public static bool EnforceAppropriateScriptDefines()
        {
            string defineStr = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget));

            List <string> defineList = new List <string>();

            if (!string.IsNullOrEmpty(defineStr))
            {
                defineList.AddRange(defineStr.Split(';'));
            }

            bool anyChanges = false;

            for (int i = 0; i < FILE_DEFINES.Length; i++)
            {
                FileDrivenDefine define  = FILE_DEFINES[i];
                bool             changed = EnforceDefineAutomatically(define.defineFlag, define.fileName, defineList);
                if (changed && defineList.Contains(define.defineFlag))
                {
                    Debug.Log("Enabled MixCast " + define.systemName + " support");
                }
                anyChanges |= changed;
            }

            if (anyChanges)
            {
                defineStr = string.Join(";", defineList.ToArray());
                PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget), defineStr);
            }

            return(anyChanges);
        }
示例#2
0
        public static void DisableDefine(FileDrivenDefine define)
        {
            if (!IsDefineEnabled(define.defineFlag))
            {
                return;
            }
            BuildTargetGroup buildTarget = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);
            string           defineStr   = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTarget);
            List <string>    defineList  = new List <string>(defineStr.Split(';'));

            defineList.Remove(define.defineFlag);
            defineStr = string.Join(";", defineList.ToArray());
            PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTarget, defineStr);
        }
示例#3
0
        public static bool TryEnableDefine(FileDrivenDefine define)
        {
            if (IsDefineEnabled(define.defineFlag))
            {
                return(true);
            }
            bool libraryFound = Directory.GetFiles(Application.dataPath, define.fileName, SearchOption.AllDirectories).Length > 0;

            if (!libraryFound)
            {
                return(false);
            }
            BuildTargetGroup buildTarget = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);
            string           defineStr   = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTarget);

            defineStr += ";" + define.defineFlag;
            PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTarget, defineStr);
            return(true);
        }