• 本地资源_Asset


    数据

    using System.Collections.Generic;
    using UnityEngine;
    
    public enum Enum_Test
    {
        A,
        B,
        C,
    }
    
    [System.Serializable]
    public class Data_Test : ScriptableObject
    {
        public Enum_Test state;
        [Range(0, 10)]
        public float value;
        public List<int> numbers;
        public List<string> infomations;
        public string description;
        //可挂载资源
        public GameObject obj;
    }
    View Code

    处理

    using System.IO;
    using UnityEditor;
    using UnityEngine;
    
    public class AssetBuilder
    {
        public static void CreateAsset<T>() where T : ScriptableObject
        {
            ScriptableObject data = ScriptableObject.CreateInstance<T>();
    
            LoadData(data);
    
            string path = Application.dataPath + "/Data";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
    
            path = string.Format("Assets/Data/{0}.asset", (typeof(T).ToString()));
            AssetDatabase.CreateAsset(data, path);
        }
    
        public static T LoadAsset<T>() where T : ScriptableObject
        {
            string name = typeof(T).ToString();
            string path = string.Format("Assets/Data/{0}.asset", name);
            T data = AssetDatabase.LoadAssetAtPath<T>(path);
            return data;
        }
    
        public static void LoadData(ScriptableObject data)
        {
            //可以去load表
            if (data.GetType() == typeof(Data_Test))
            {
                Data_Test dt = (Data_Test)data;
                dt.description = "测试";
            }
        }
    }
    View Code

    测试

    using UnityEngine;
    
    public class LoadAssetData : MonoBehaviour
    {
        void Start()
        {
            AssetBuilder.CreateAsset<Data_Test>();
    
            Data_Test dt = AssetBuilder.LoadAsset<Data_Test>();
    
            Debug.LogError(dt.description);
        }
    }
    View Code
  • 相关阅读:
    分享几个个人觉得挺漂亮的导航 Jquery
    C#程序打成 一键安装包InstallShield
    腾讯显IP的API
    C#综合揭秘——细说事务
    2012最新JQuery插件
    Flex各种用法及使用技巧一
    win7管理员账户的启用方法
    禁用win7休眠
    win7下移动文件夹
    win7下转移搜狗文件临时文件夹和IE临时文件夹的方法
  • 原文地址:https://www.cnblogs.com/Joke-crazy/p/9328601.html
Copyright © 2020-2023  润新知