Ejemplo n.º 1
0
 public void Simulate(ChannelConfig config, BuildTarget target, BuildCfg cfg)
 {
     SetConfig_Compile(config, target, cfg);
     PreparePlugin(config, target, cfg);
     AssetDatabase.Refresh();
     AssetDatabase.SaveAssets();
 }
Ejemplo n.º 2
0
 public void Prepare(ChannelConfig config, BuildTarget buildTarget, BuildCfg cfg)
 {
     Debug.Log("准备打包" + config.name);
     //todo 打包加速
     //CopyRes(config, buildTarget, cfg);
     PreparePlugin(config, buildTarget, cfg);
     SetConfig_Compile(config, buildTarget, cfg);
 }
Ejemplo n.º 3
0
        public void Prepare(ChannelConfig channelConfig, BuildTarget target, BuildCfg cfg)
        {
            if (cfg.importAssets)
            {
                ImportAsset();
            }

            PreBuild(channelConfig, target, cfg);
        }
Ejemplo n.º 4
0
 public void PreBuild(ChannelConfig channelConfig, BuildTarget target, BuildCfg cfg)
 {
     foreach (var pluginImporter in importerList)
     {
         try
         {
             pluginImporter.PreBuild(channelConfig, target, cfg);
         }
         catch (Exception e)
         {
             Debug.Log(e);
         }
     }
 }
Ejemplo n.º 5
0
        public void Build(ChannelConfig config, BuildTarget target, BuildCfg cfg)
        {
            string outPutPath = Application.dataPath;

            outPutPath  = outPutPath.Replace("Assets", "");
            outPutPath += "/bin/";
            BuildOptions buildOption = BuildOptions.None;

            if (cfg.debug)
            {
                buildOption |= BuildOptions.Development;
                buildOption |= BuildOptions.AllowDebugging;
                buildOption |= BuildOptions.ConnectWithProfiler;
            }
            string   filename       = "";
            string   exportFilePath = "";
            DateTime time           = DateTime.Now;
            string   timeStamp      = time.Year.ToString("D2") + time.Month.ToString("D2") + time.Day.ToString("D2") + "_" +
                                      time.Hour.ToString("D2") + time.Minute.ToString("D2");

            if (cfg.useIL2CPP)
            {
                PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.IL2CPP);
            }
            else
            {
                PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.Mono2x);
            }
            if (target == BuildTarget.Android)
            {
                outPutPath = Path.Combine(outPutPath, "Andorid");
                if (!Directory.Exists(outPutPath))
                {
                    Directory.CreateDirectory(outPutPath);
                }

                filename = timeStamp + "demo.apk";

                exportFilePath = outPutPath + "/" + filename;
            }
            else
            {
                outPutPath     = Path.Combine(outPutPath, "iOS");
                outPutPath    += timeStamp;
                exportFilePath = outPutPath;
            }

            BuildPipeline.BuildPlayer(BUILD_SCENES, exportFilePath, target, buildOption);
        }
Ejemplo n.º 6
0
        private void PreparePlugin(ChannelConfig config, BuildTarget target, BuildCfg cfg)
        {
            var targetGroup = BuildPipeline.GetBuildTargetGroup(target);

            _pluginImporterGroup = new PluginGroup();
            string[] plugins = config.plugins.Split(';');

            for (int i = 0; i < plugins.Length; i++)
            {
                if (!string.IsNullOrEmpty(plugins[i]))
                {
                    Debug.Log("usePlugin" + plugins[i]);
                    _pluginImporterGroup.Use(plugins[i]);
                }
            }
            _pluginImporterGroup.Prepare(config, target, cfg);
        }
Ejemplo n.º 7
0
 private void SetConfig_Compile(ChannelConfig config, BuildTarget target, BuildCfg cfg)
 {
     Debug.Log("SetConfig_Compile");
     Tools.WriteChannelConst(config);
     Tools.AddScriptingDefineSymbols(config.DefineSymbol);
 }
Ejemplo n.º 8
0
 public void RevertSimulate(ChannelConfig config, BuildTarget target, BuildCfg cfg)
 {
     _config = config;
     RevertConfig();
     RemovePlugin(config, target, cfg);
 }
Ejemplo n.º 9
0
 public static bool RunQemu(string args, string workingdir, BuildCfg cfg) =>
 StartProcess(Path.Combine(cfg.QemuRoot, "qemu-system-x86_64"), workingdir, args, true, false);
Ejemplo n.º 10
0
 public static bool RunGrubImageTool(string args, string workingdir, BuildCfg cfg) =>
 StartProcess("./Uskr/GrubImgTool.exe", workingdir, args);
Ejemplo n.º 11
0
 public static bool RunLinker(string args, string workingdir, BuildCfg cfg) =>
 StartProcess(Path.Combine(cfg.GccRoot, "ld.exe"), workingdir, args);
Ejemplo n.º 12
0
 public static bool RunNasm(string args, string workingdir, BuildCfg cfg) =>
 StartProcess(Path.Combine(cfg.NasmExe, "nasm.exe"), workingdir, args);
Ejemplo n.º 13
0
 public static bool RunObjCopy(string args, string workingdir, BuildCfg cfg) =>
 StartProcess(Path.Combine(cfg.GccRoot, "objcopy.exe"), workingdir, args);