Beispiel #1
0
        /// <summary>
        /// 剪切文件夹(区别于复制文件夹)
        /// 注意:不会将路径的目录移动过去
        /// </summary>
        /// <param name="sPath"></param>
        /// <param name="tPath"></param>
        public static void MoveFolder(string sPath, string tPath)
        {
            if (Directory.Exists(sPath))
            {
                try
                {
                    if (Directory.Exists(tPath))
                    {
                        RemoveFullFolder(tPath);

                        if (Directory.Exists(tPath))
                        {
                            DirectoryInfo directoryInfo = new DirectoryInfo(tPath);
                            if (directoryInfo.Attributes != FileAttributes.Normal)
                            {
                                directoryInfo.Attributes = FileAttributes.Normal;
                            }
                            directoryInfo.Delete();
                            //Directory.Delete(path);
                        }
                    }

                    Directory.Move(sPath, tPath);
                }
                catch (Exception ex)
                {
                    Debug.LogError(ex.Message);
                }
            }
            else
            {
                ATLog.Error("路径不存在! \r\n" + sPath);
                Debug.LogError(sPath + " : Not Found");
            }
        }
Beispiel #2
0
        public override void DoTask()
        {
            ATLog.Info("任务: " + Name + "Begin...");
            System.Threading.Thread.Sleep(5000);

            _status = TaskStatus.Failure;
        }
Beispiel #3
0
 public override void DoTask()
 {
     //TODO
     //主要任务内容
     ATLog.Info("任务: " + Name + "Begin...");
     BatTool.CallBatByThread(AutoToolConstants.BatDic["svnOP_Update"], this);
 }
Beispiel #4
0
 public override void DoTask()
 {
     //TODO
     //主要任务内容
     //批处理不需要手动添加任务状态的改变
     //非批处理任务需手动添加任务状态的改变
     ATLog.Info("任务: " + Name + "Begin...");
 }
Beispiel #5
0
        public static void LogTest()
        {
            UnityEngine.Debug.LogError(AutoToolConstants.logPath);

            ATLog.Debug("this is debug log !");
            ATLog.Warn("this is warn log !");
            ATLog.Error("this is error log !");
            ATLog.Info("this is info log !");
        }
Beispiel #6
0
 public override void OnStatusChanged(TaskStatus status)
 {
     _status = status;
     ATLog.Info("Task: " + Name + "   Status: " + status.ToString());
     if (_currentWindow != null)
     {
         _currentWindow.Repaint();
     }
 }
Beispiel #7
0
 public override void OnStatusChanged(TaskStatus status)
 {
     _status = status;
     ATLog.Info("Task: " + Name + "   Status: " + status.ToString());
     if (_currentWindow != null)
     {
         // UnityEngine.Debug.Log("重绘窗口!");
         _currentWindow.Focus();
         _currentWindow.Repaint();
     }
 }
        private void OnClickSelectUnityInstallDirectoryBtn()
        {
            UnityEXE = EditorUtility.OpenFilePanel("Unity安装路径", System.Environment.CurrentDirectory, "exe");

            System.Diagnostics.Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
            //Debug.LogError(currentProcess.MainModule.FileName);
            if (currentProcess.MainModule.FileName.Replace("\\", "/") != UnityEXE || !AutoToolConstants.UnityVersion.Equals(Application.unityVersion))
            {
                EditorUtility.DisplayDialog("错误", "未选择" + AutoToolConstants.UnityVersion + "的Unity.exe!", "OK");
                ATLog.Warn("未找到相应版本的Unity!");
                UnityEXE = null;
                return;
            }

            EditorPrefs.SetString(AutoToolPrefKeys.UnityEXE, UnityEXE);
        }
Beispiel #9
0
        /// <summary>
        /// 回滚任务
        /// </summary>
        private void OnReverseTasks()
        {
            ATLog.Info("=======>进行任务回滚");
            SysProgressBar.ShowProgressBar(0, taskName: "任务失败,正在进行回滚!");
            for (int i = ExcutedTasks.Count - 1; i >= 0; i--)
            {
                if (ExcutedTasks[i].IsCanReverse)
                {//任务回滚
                    ExcutedTasks[i].OnReverse();
                }
                SysProgressBar.ShowProgressBar(i / ExcutedTasks.Count, taskName: "任务失败,正在进行回滚!");
                System.Threading.Thread.Sleep(5000);
            }

            SysProgressBar.ShowProgressBar(100, taskName: "任务回滚完毕!");

            EndATBuildPipline();
        }
Beispiel #10
0
        /// <summary>
        /// 移除文件夹及其子文件
        /// </summary>
        /// <param name="path">文件夹路径</param>
        public static void RemoveFullFolder(string path)
        {
            path = path.Replace("\\", "/");

            if (!Directory.Exists(path))
            {
                ATLog.Warn("文件夹不存在! \r\n " + path);
                return;
            }

            List <string> files = new List <string>(Directory.GetFiles(path));

            files.ForEach(c =>
            {
                string tempFileName = Path.Combine(path, Path.GetFileName(c));
                FileInfo fileInfo   = new FileInfo(tempFileName);
                if (fileInfo.Attributes != FileAttributes.Normal)
                {
                    fileInfo.Attributes = FileAttributes.Normal;
                }
                fileInfo.Delete();
                //File.Delete(tempFileName);
            });

            List <string> folders = new List <string>(Directory.GetDirectories(path));

            folders.ForEach(c =>
            {
                string tempFolderName = Path.Combine(path, Path.GetFileName(c));
                RemoveFullFolder(tempFolderName);
            });

            if (Directory.Exists(path))
            {
                DirectoryInfo directoryInfo = new DirectoryInfo(path);
                if (directoryInfo.Attributes != FileAttributes.Normal)
                {
                    directoryInfo.Attributes = FileAttributes.Normal;
                }
                directoryInfo.Delete();
                //Directory.Delete(path);
                return;
            }
        }
Beispiel #11
0
        /// <summary>
        /// 写内容到文件
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        public static string WriteToFile(string filePath, string content, FileMode mode = FileMode.OpenOrCreate)
        {
            string result = null;

            try
            {
                FileStream   fs = new FileStream(filePath, mode, FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs);
                sw.WriteLine(content);
                sw.Close();
            }
            catch (Exception ex)
            {
                result = ex.Message;
                ATLog.Error(ex);
                return(result);
            }

            return(result);
        }
 private void ClearLog()
 {
     ATLog.ClearLog();
     EditorUtility.DisplayDialog("提示", "Log清理完成!", "OK");
 }
Beispiel #13
0
 /// <summary>
 /// 任务管线结束
 /// </summary>
 public void EndATBuildPipline()
 {
     PiplineStatus = ATBuildPiplineStatus.Unoccupied;
     BuildPiplineWindow.Instance.isExcuteATBuildPipline = false;
     ATLog.Info("=======>任务管线结束!");
 }