示例#1
0
 public static void ValidModuleScriptingDefine(bool isDevelop, BuildConfig.CustomBuildTarget buildTarget, BuildConfig buildConfig, BuildTargetGroup buildTargetGroup)
 {
     if (buildConfig != null)
     {
         var defines = GetBuildDefines(isDevelop, buildTarget, buildConfig, buildTargetGroup);
         ScriptingDefine.SaveScriptingDefineSymbolsForGroup(buildTargetGroup, defines.ToArray());
     }
     else
     {
         Logs.LogError("buildConfig is null please check");
     }
 }
示例#2
0
        public static List <string> GetBuildDefines(bool isDevelop, BuildConfig.CustomBuildTarget buildTarget, BuildConfig buildConfig, BuildTargetGroup buildTargetGroup)
        {
            string defineBuild = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
            var    defines     = ExtractDefineNames(defineBuild);

#if ADS_ENABLE
            var adsConfig = AdsEditor.LoadAdsConfigResouce();
            if (adsConfig == null)
            {
                throw new BuildException("Please Set up ads api before build production version");
            }
            else
            {
                AdsEditor.ValidUnityAdsScriptingDefine(adsConfig, buildTargetGroup);
            }
#endif

            ScriptingDefine.EnableScriptingDefineFlag(isDevelop, Logs.EnableLogsString, defines);
            ScriptingDefine.EnableScriptingDefineFlag(!isDevelop, ProductionBuildString, defines);
            ScriptingDefine.EnableScriptingDefineFlag(buildConfig.enableAds, AdsEnableString, defines);
            ScriptingDefine.EnableScriptingDefineFlag(buildConfig.enableFirebase, FirebaseEnableString, defines);

            ScriptingDefine.EnableScriptingDefineFlag(buildConfig.enableIap, IapEnableString, defines);
            if (buildConfig.scriptingDefines != null)
            {
                foreach (var variable in buildConfig.scriptingDefines)
                {
                    var enableTargetBuild = (variable.target & buildTarget) == buildTarget;
                    if (isDevelop)
                    {
                        ScriptingDefine.EnableScriptingDefineFlag(enableTargetBuild && variable.develop, variable.key,
                                                                  defines);
                    }
                    else
                    {
                        ScriptingDefine.EnableScriptingDefineFlag(enableTargetBuild && variable.release, variable.key,
                                                                  defines);
                    }
                }
            }

            return(defines);
        }
示例#3
0
        private void PrintDefines(BuildConfig.CustomBuildTarget buildTarget, bool isDevelop)
        {
            EditorGUILayout.BeginVertical("Box");
            var label = buildTarget + (isDevelop ? " [Develop]" : " [Release]");

            EditorGUILayout.LabelField(label + (isDevelop == Build.IsDebug ? " [CURRENT]" : ""));
            var buildDefines =
                BuildTool.GetBuildDefines(isDevelop, buildTarget, buildConfig, ScriptingDefine.GetBuildTargetGroup());

            if (buildDefines != null)
            {
                using (new EditorGUI.DisabledGroupScope(true)) {
                    foreach (var buildDefine in buildDefines)
                    {
                        EditorGUILayout.LabelField(buildDefine);
                    }
                }
            }

            EditorGUILayout.EndVertical();
        }