OnBeforeSerialize And OnAfterDeserialize
2016-06-12 15:31
344 查看
using UnityEngine; using System.Collections.Generic; public class test : MonoBehaviour, ISerializationCallbackReceiver { public List<int> _keys; public List<string> _values; //Unity doesn't know how to serialize a Dictionary public Dictionary<int, string> _myDictionary = new Dictionary<int, string> { {3, "I"}, {4, "Love"}, {5, "Unity"} }; // 一改_keys,_values就调用 public void OnAfterDeserialize() { Debug.Log(" ** OnAfterDeserialize **"); _myDictionary.Clear(); for (int i = 0; i != System.Math.Min(_keys.Count, _values.Count); i++) _myDictionary.Add(_keys[i], _values[i]); } // 每帧调用 public void OnBeforeSerialize() { //Debug.Log(" ** OnBeforeSerialize **"); //_keys.Clear(); //_values.Clear(); //foreach (var kvp in _myDictionary) //{ // _keys.Add(kvp.Key); // _values.Add(kvp.Value); //} } void OnGUI() { foreach (var kvp in _myDictionary) GUILayout.Label("Key: " + kvp.Key + " value: " + kvp.Value); } }
相关文章推荐
- Kinect结合Unity3D引擎开发体感游戏(一)
- Unity3D中脚本的执行顺序和编译顺序
- Unity3D动态对象优化代码分享
- Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
- Unity3d获取系统时间
- unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk)
- Unity3D游戏引擎实现在Android中打开WebView的实例
- unity3d调用手机或电脑摄像头
- Unity3d发布IOS9应用时出现中文乱码的解决方法
- 分享一个开源的网络游戏服务器架构—HouHai
- Unity3D插件详细评测及教学下载
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关