﻿using System;
using System.Collections.Generic;
using JLGames.RocketDriver.CSharp.Utils;
using UnityEngine;

namespace JLGames.RocketDriver.Editor.Infra
{
    [Serializable]
    public class PluginPackageInfo
    {
        [Serializable]
        public class Author
        {
            public string name;
            public string email;
            public string url;
        }

        public string name;
        public string association;
        public string version;
        public string displayName;
        public string description;
        public string unity;
        public string documentationUrl;
        public string changelogUrl;
        public string licensesUrl;
        public string[] keywords;
        public Author author;

        public static PluginPackageInfo GetPackageInfo(string json)
        {
            return JsonUtility.FromJson<PluginPackageInfo>(json);
        }

        public static PluginPackageInfo GetPackageInfoByPath(string path)
        {
            var json = TextUtil.ReadText(path);
            return JsonUtility.FromJson<PluginPackageInfo>(json);
        }
    }
}