Пример #1
0
        public void Do(BuildScenario conf, int target, BuildLog log)
        {
            var path = conf.InterpolateString(Path, target);

            try
            {
                File.WriteAllText(path, UseInterpolation ? conf.InterpolateString(Content, target) : Content);
                log.Line("create file " + path + " use interpolatio: " + UseInterpolation, "add file action", "info");
            }
            catch { log.Line("dont create file " + path, "add file action", "error"); }
        }
Пример #2
0
        public void Do(BuildScenario conf, int target, BuildLog log)
        {
            var path = conf.InterpolateString(Path, target);

            log.Line("start delete files at path: " + path, "delete files", "info");
            System.Diagnostics.Process          process   = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.FileName    = "cmd.exe";
            startInfo.Arguments   = "/C del /F /Q " + (Recursively ? "/S " : "") + path;
            process.StartInfo     = startInfo;
            process.Start();
            process.WaitForExit();
            log.Line("deleting success. exit code: " + process.ExitCode, "delete files", "info");
        }
Пример #3
0
        public void Do(BuildScenario conf, int target, BuildLog log)
        {
            var path   = conf.InterpolateString(PathFrom, target);
            var pathto = conf.InterpolateString(PathTo, target);

            log.Line("start copy files at path from: " + path + " to: " + pathto, "copy files", "info");
            System.Diagnostics.Process          process   = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.FileName    = "cmd.exe";
            startInfo.Arguments   = "/C xcopy \"" + path + "\" \"" + pathto + "\" /c /i /s /e /t /y";
            process.StartInfo     = startInfo;
            process.Start();
            process.WaitForExit();
            log.Line("deleting success. exit code: " + process.ExitCode, "copy files", "info");
        }
Пример #4
0
 public void Do(BuildScenario conf, int target, BuildLog log)
 {
     log.Line("running cmd script: " + conf.InterpolateString(Script, target), "run cmd action", "info");
     System.Diagnostics.Process          process   = new System.Diagnostics.Process();
     System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
     startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
     startInfo.FileName    = "cmd.exe";
     startInfo.Arguments   = "/C " + conf.InterpolateString(Script, target);
     process.StartInfo     = startInfo;
     process.Start();
     if (WaitForExit)
     {
         log.Line("waiting process id: " + process.Id, "run cmd action", "info");
         process.WaitForExit();
         log.Line("process id: " + process.Id + " exit with code: " + process.ExitCode, "run cmd action", "info");
     }
 }
Пример #5
0
 void ProcessActions(List <IAction> actions, int target, BuildLog log)
 {
     foreach (var action in actions)
     {
         if (action.CanAction)
         {
             ProgressBar();
             log.Line("running action " + action.GetType().Name + " from target " + target, "builder", "info");
             currentActionType = action.GetType().Name;
             action.Do(this, target, log);
         }
         else
         {
             log.Line("passed action " + action.GetType().Name, "builder", "info");
         }
     }
 }
Пример #6
0
        public void Do(BuildScenario conf, int target, BuildLog log)
        {
            var targetPath = conf.InterpolateString(Path, target);

            Directory.CreateDirectory(System.IO.Path.GetDirectoryName(targetPath));
            log.Line("building player to " + targetPath + ", target: " + Target.ToString() + ", options: " + Options.ToString(), "Build Action", "info");

            var targetBuildOption = new BuildPlayerOptions
            {
                target           = Target,
                scenes           = Scenes.ToArray(),
                options          = BuildOptions.Development,
                locationPathName = targetPath
            };


            PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, DefinedSymbols);
            var res = BuildPipeline.BuildPlayer(targetBuildOption);

            log.Line("player build successful, errors: " + res, "Build Action", "info");
        }
Пример #7
0
        public void Do(BuildScenario conf, int target, BuildLog log)
        {
            var obj        = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(TargetGUID), typeof(UnityEngine.GameObject));
            var components = obj.GetComponents <Component>();

            if (components.Length > ScriptId && ScriptId > 0)
            {
                foreach (var changer in OverridedProperty)
                {
                    log.Line("changing property in prefab " + AssetDatabase.GUIDToAssetPath(TargetGUID), "change prefab property", "info");
                    changer.ChangeProperty(components[ScriptId]);
                }
            }
        }