当前位置: 首页 > news >正文

企业展示网站建设需要做什么苏州建网站公司选苏州聚尚网络

企业展示网站建设需要做什么,苏州建网站公司选苏州聚尚网络,长春网站建设方案托管,中国制造网官方网站首页字典在Inspector的显示 方法一:实现ISerializationCallbackReceiver接口 《unity3D游戏开发第二版》记录 在编辑面板中可以利用序列化监听接口特性对字典进行序列化。 主要继承ISerializationCallbackReceiver接口 实现OnAfterDeserialize() OnBeforeSerialize() …

字典在Inspector的显示

方法一:实现ISerializationCallbackReceiver接口

《unity3D游戏开发第二版》记录
在编辑面板中可以利用序列化监听接口特性对字典进行序列化。
主要继承ISerializationCallbackReceiver接口 实现OnAfterDeserialize() OnBeforeSerialize() 的方法进行监听序列化和反序列化之前的事件。

例子:
配置的ScriptableObject脚本:

[CreateAssetMenu(fileName = "FileName2PathConfig", menuName = "xasset/Custom/FileName2PathConfig")]public class FileName2PathConfig : ScriptableObject{public SerializationDic<string, string> fileDictionary;}// Dictionary<TKey, TValue> 可序列化字典[Serializable]public class SerializationDic<TKey, TValue> :ISerializationCallbackReceiver{[SerializeField]List<TKey> keys;[SerializeField]List<TValue> values;Dictionary<TKey, TValue> target;public Dictionary<TKey, TValue> ToDictionary() { return target; }public SerializationDic(Dictionary<TKey, TValue> target){this.target = target;}public void OnBeforeSerialize(){keys = new List<TKey>(target.Keys);values = new List<TValue>(target.Values);}public void OnAfterDeserialize(){var count = Math.Min(keys.Count, values.Count);target = new Dictionary<TKey, TValue>(count);for (var i = 0; i < count; ++i){target.Add(keys[i], values[i]);}}}

控制Inspector面板显示的脚本:

[CustomEditor(typeof(SerializationDic<string,string>))]public class SerializationDicEditor : Editor{public override void OnInspectorGUI(){//更新数据serializedObject.Update();SerializedProperty propertyKey=serializedObject.FindProperty("keys");SerializedProperty propertyValue=serializedObject.FindProperty("values");int size=propertyKey.arraySize;GUILayout.BeginVertical();for(int i=0;i<size;i++){GUILayout.BeginHorizontal();SerializedProperty key=propertyKey.GetArrayElementAtIndex(i);SerializedProperty value=propertyValue.GetArrayElementAtIndex(i);key.stringValue=EditorGUILayout.TextField("key",key.stringValue);value.stringValue=EditorGUILayout.TextField("value",value.stringValue);GUILayout.EndHorizontal();}GUILayout.EndVertical();//保存数据serializedObject.ApplyModifiedProperties();}}

效果

方法二 使用插件Odin Inspector 官网

代码:

[CreateAssetMenu(fileName = "FileName2PathConfig", menuName = "xasset/Custom/FileName2PathConfig")]public class FileName2PathConfig : SerializedScriptableObject{[DictionaryDrawerSettings(KeyLabel = "资源名字", ValueLabel = "资源路径")]public Dictionary<string, string> fileDictionary;}

效果:

http://www.yayakq.cn/news/891045/

相关文章:

  • html5 国外网站vi系统整套设计
  • 宝格丽网站建设成都视觉设计公司
  • 学院网站建设项目的成本计划书网络大型游戏排行
  • 马可波罗网站做外贸用xampp来搭建wordpress建站环境
  • 多php网站建设wordpress汇率插件
  • 性能网站建设做网站用的插件
  • 郑州做网站比较好公司深圳专业建网站多少钱
  • 旅游电子商务网站建设规划网站县区分站点建设
  • 博物馆建设网站做网站应该会什么软件
  • 做海报的网站百度收录提交入口
  • 网站设计存在的不足dede 手机网站插件
  • 免费自助建站排名东莞效果好的网站建设
  • 响应式网站是做列表强强seo博客
  • 化妆品营销型网站网站开发公用头部
  • 建设银行网银网站无法访问网站连接到wordpress
  • 建设网站网址只有域名如何做网站
  • 新乡网站开发苍南龙港做网站店铺
  • 哈尔滨建站在线咨询网站标准宽度
  • 36氪网站用什么程序做的大学生想做网站
  • 查找网站备案做fpga的网站
  • wap网站怎么打开手机设计图纸软件
  • 连州住房建设局网站中国十大营销策划大师
  • 企业网站群建设国家城乡建设部投诉网站
  • 网站源码上传到哪个文件夹学电脑在哪里报名
  • 法律行业做的比较好的平台网站wordpress 防止爆破插件
  • 购买网站需要注意什么中国公路建设行业协会网站这么上不
  • 个人建设网站需要什么证件吗北京专业网站营销
  • 西三旗网站建设软件编程毕业设计代做网站
  • 阿里云的国际网站建设装饰网站建设
  • 永久打开本网站的怎么做链接网站