using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using System.IO;
namespace Common
{
public static class Parameter
{
public static string AssetPath = "Assets/Config";
#if UNITY_EDITOR
public static void SaveAsset<T>(string assetFileName) where T : ScriptableObject
{
var filePath = AssetPath + "/" + assetFileName;
File.Delete(filePath);
UnityEditor.AssetDatabase.CreateAsset(ScriptableObject.CreateInstance<T>(), filePath);
if (File.Exists(filePath))
{
Debug.Log("保存配置[" + typeof(T) + "]成功,路径:" + filePath);
}
else
{
Debug.Log("保存配置失败,路径为[" + filePath + "],请检查是否正确");
}
}
#endif
public static T LoadAsset<T>(string assetFileName) where T : ScriptableObject
{//注意:此函数只能在系统函数中调用
var nameWithoutSuffix = assetFileName.Substring(0, assetFileName.IndexOf('.'));
var assetPath = AssetPath.Replace('\\', '/');
var from = assetPath.LastIndexOf("Resources", StringComparison.Ordinal) + "Resources".Length;
var pathWithoutResources = assetPath.Substring(from).TrimStart('/');
var path = pathWithoutResources + "/" + nameWithoutSuffix;
return Resources.Load<T>(path);
}
}
}
Parameter.cs
最新推荐文章于 2022-11-03 16:46:52 发布