﻿using JLGames.RocketDriver.Actions.Utils;
using JLGames.RocketDriver.CSharp.Utils;
using UnityEngine;
using FileUtil = JLGames.RocketDriver.CSharp.Utils.FileUtil;

namespace JLGames.RocketDriver.Editor.Infra
{
    public static class EditorOpenUtils
    {
        /// <summary>
        /// Open Directory
        /// 打开目录
        /// </summary>
        /// <param name="folderPath"></param>
        public static void OpenFolder(string folderPath)
        {
            if (!DirectoryUtil.Exists(folderPath))
            {
                if (FileUtil.Exists(folderPath))
                {
                    folderPath = PathUtil.GetParentDirectory(folderPath);
                    Application.OpenURL($"file://{folderPath}");
                }

                return;
            }

            Application.OpenURL($"file://{folderPath}");
        }

        /// <summary>
        /// Open file with default software
        /// 使用默认软件打开文件
        /// </summary>
        /// <param name="filePath"></param>
        public static void OpenFile(string filePath)
        {
            if (!FileUtil.Exists(filePath)) return;
            filePath = UnityPathUtil.Format2UnityPath(filePath);
            if (!FileUtil.Exists(filePath)) return;
            Application.OpenURL($"file://{filePath}");
        }
    }
}