ScriptableObject 对象化的运用】的更多相关文章

http://www.cnblogs.com/oldman/articles/2409554.html using UnityEngine; using UnityEditor; using System.IO; public static class CustomAssetUtility { public static void CreateAsset<T> () where T : ScriptableObject { T asset = ScriptableObject.CreateIn…
踩坑 做编辑器一些设置序列化存在本地的时候,继承自ScriptableObject的类通过 创建的asset文件. 在重启Unity后查看这个asset发现上面的所有序列化属性丢失,报的错就是 在不存在的网站找了一番之后,找到答案 需要本地序列化的ScriptableObject必须拥有自己的同名实体脚本文件. 也就是在上图Scipt选项中能找到的类名.cs文件 Unity貌似会根据序列化的类名去找到这个脚本文件,重新检查脚本的可序列化项,最后才将能序列化的选项重新反序列化出来. 那问题知道了,…
由继承自scriptableObject的类X创建.asset文件. 假设类X的定义为: [System.Serializable] public class X : ScriptableObject {    public float m_a;} 方法一:写代码创建. #if UNITY_EDITOR         string path = "Assets/Resources/x.asset";         X scriptableObj = ScriptableObject…
ScriptableObject ScriptableObject是一个类,它允许你存储大量用于共享的数据独立脚本实例,不要迷惑这个类同样可以叫做 SerializableObject,可以理解成是一个Unity串行化工具.这是一个编辑器类并且你可以在Inspector面板中编辑数据.例如:如果你有一个存储了一百万数据的 int[],这个数组占用4MB内存,放在Prefab上,那么当你每次实例化Prefab,你都会得到这个数组的一个副本.如果你实例化10个这个Prefab,那就会占用40MB内存…
ScriptableObject主要实现对象序列化的保存,因为是Unity自己的序列化,所以比xml,json序列化方便很多,但相对可控性也比较差 1.Editor下写入和读取测试: using UnityEditor; using UnityEngine; using System.Collections; public class ScriptableTestWindow : EditorWindow { [MenuItem("ScriptableTest/MyTest")] pu…
using UnityEngine; [System.Serializable] public class Weapon { //[SerializeField] public string weaponName; //[SerializeField] public int damage; public Weapon(string name, int dmg) { weaponName = name; damage = dmg; } } 我们使用 ScriptableObject 来当做数据库…
不同与C#提供的Serializable序列化功能,ScriptableObject是Unity3D提供的一个数据存储类,我们接下来学习一下这个类的功能. 官方文档 http://docs.unity3d.com/Manual/class-ScriptableObject.html http://docs.unity3d.com/ScriptReference/ScriptableObject.html 使用情景 在Unity3D中,我们记录游戏的配置数据可以使用文件文件(XML.JSON等格式…
以下为一个引子: C中struct的函数实现,只能用函数指针成员. C结构体内不能有函数的代码,但可以有函数的指针. C/C code Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ #include <stdio.h> struct test { void fun() { printf("hello,world\n"); } }…
在<强大的DELPHI RTTI--兼谈需要了解多种开发语言>一文中,我说了一下我用DELPHI的RTTI实现了数据集的简单对象化.本文将详细介绍一下我的实现方法.     首先从一个简单的例子说起:假设有一个ADODataSet控件,连接罗斯文数据库,SQL为: select * from Employee     现在要把它的内容中EmployeeID, FirstName, LastName,BirthDate四个字段显示到ListView里.传统的代码如下: With ADODataS…
自定义ScriptableObject属性显示的三种方式 1. 继承Editor,重写OnInspectorGUI方法 Editor官方文档 需求 将TestClass中intData属性和stringData按指定格式显示. 实现 定义一个测试类TestClass,一个可序列化类DataClass [CreateAssetMenu] public class TestClass : ScriptableObject { [Range(, )] public int intData; publi…