﻿using JLGames.RocketDriver.Editor.Infra;
using UnityEngine;

namespace JLGames.RocketDriver.Editor
{
    public static class RocketDriverInfos
    {
        private static PluginPackageInfo m_PackageInfo = null;

        public static PluginPackageInfo PackageInfo
        {
            get
            {
                if (null == m_PackageInfo)
                    m_PackageInfo = PluginPackageInfo.GetPackageInfoByPath($"{Application.dataPath}/JLGames/RocketDriver/package.json");
                return m_PackageInfo;
            }
        }

        /// <summary>
        /// package full name
        /// 完整名称
        /// </summary>
        public static string PackageFullName => PackageInfo.name;

        /// <summary>
        /// association name
        /// 组织名称
        /// </summary>
        public static string AssociationName => PackageInfo.association;

        /// <summary>
        /// package name
        /// 插件名称
        /// </summary>
        public static string PackageName => PackageInfo.displayName;

        /// <summary>
        /// version
        /// 版本号
        /// </summary>
        public static string PackageVersion => PackageInfo.version;

        /// <summary>
        /// description
        /// 描述
        /// </summary>
        public static string PackageDescription => PackageInfo.description;

        /// <summary>
        /// Tags
        /// </summary>
        public static string[] PackageTags => PackageInfo.keywords;

        /// <summary>
        /// unity version
        /// 支持的Unity最低版本
        /// </summary>
        public static string UnityVersion => PackageInfo.unity;

        /// <summary>
        /// Support
        /// 技术支持
        /// </summary>
        public static string UrlSupport => PackageInfo.documentationUrl;

        /// <summary>
        /// Changlelog
        /// </summary>
        public static string UrlChangelog => PackageInfo.changelogUrl;

        /// <summary>
        /// Licenses
        /// </summary>
        public static string UrlLicenses => PackageInfo.licensesUrl;

        //----------------------------

        /// <summary>
        /// 当前插件标识号
        /// </summary>
        public static string BundleId => $"{AssociationName}.{PackageName}.{PackageVersion}";

        /// <summary>
        /// 默认安装路径
        /// </summary>
        public const string InstallFolderDefault = "Assets/JLGames/RocketDriver";

        //----------------------------

        /// <summary>
        /// 用户手册
        /// </summary>
        public const string UrlManualCn = "https://www.xuzhuoxi.com/RocketDriver-Docs/pages/Home_Manual_cn.html";

        /// <summary>
        /// Manual
        /// </summary>
        public const string UrlManualEn = "https://www.xuzhuoxi.com/RocketDriver-Docs/pages/Home_Manual_en.html";

        /// <summary>
        /// Github Issues
        /// </summary>
        public const string UrlGithubIssues = "https://github.com/xuzhuoxi/RocketDriver-Docs/issues";

        /// <summary>
        /// Github Issues New
        /// </summary>
        public const string UrlGithubIssuesNew = "https://github.com/xuzhuoxi/RocketDriver-Docs/issues/new";
    }
}