Parameter.cs

来源:互联网 发布:创维电视网络唤醒 编辑:程序博客网 时间:2024/06/05 12:49
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);        }    }}