W_WuHuVR/Medicine/Assets/ScriptabLeObject/BaseConf.cs

112 lines
2.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEditor;
using UnityEngine.UI;
/// <summary>
/// 管理类(配置文件)
/// </summary>
public class BaseConf : ScriptableObject
{
[Header("种类配置")]
/// <summary>
/// 种类
/// </summary>
[Tooltip("种类")]
public string kind;
/// <summary>
/// 二级菜单数量
/// </summary>
[Tooltip("二级菜单数量")]
public int menuitem_num;
/// <summary>
/// 二级菜单图片
/// </summary>
[Tooltip("二级菜单图片")]
public List<Sprite> menuitem_img;
/// <summary>
/// 二级菜单对应物品配置文件
/// </summary>
[Tooltip("二级菜单对应物品配置文件")]
public List<BaseConf> Bases;
[Header("药材配置")]
[Tooltip("展示图片 0_切片 1_活株")]
/// <summary>
/// 展示图片 0_切片 1_活株
/// </summary>
public List<Sprite> go_img;
/// <summary>
/// 模型
/// </summary>
[Tooltip("模型")]
public GameObject go;
/// <summary>
/// 药材名
/// </summary>
[Tooltip("药材名")]
public string name_CN;
/// <summary>
/// 拉丁名
/// </summary>
[Tooltip("拉丁名")]
public string name_LT;
/// <summary>
/// 简介
/// </summary>
[Tooltip("简介")]
public string synopsis;
/// <summary>
/// Assets界面右键添加配置文件
/// </summary>
#if UNITY_EDITOR
[MenuItem("Assets/Create/Baseconf", false, 0)]
private static void Show()
{
Object o = Selection.activeObject;
if (o)
{
string path = AssetDatabase.GetAssetPath(o); //获取路径
if (!Directory.Exists(path))//判断是否有 AssetDatabase路径
{
Directory.CreateDirectory(path);//没有就 创建AssetDatabase路径
}
ScriptableObject a = CreateInstance<BaseConf>();//创建一个自身类型的对象
if (a)//判断创建的对象是否存在
{
string str = Unitil.TryGetName<BaseConf>(path);//类名打点调用获取文件名,并传参路径
AssetDatabase.CreateAsset(a,str);//根据对象(自身类) 及 路径创建
AssetDatabase.SaveAssets();//保存
}
else//否则创建失败
{
Debug.LogError(typeof(BaseConf) + " is null");//输出错误语句
}
}
}
#endif
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}