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

手机网站制作要求标准女做受视频网站

手机网站制作要求标准,女做受视频网站,湖北专业的网瘾戒除学校有哪些,深圳pc端网站开发当在Unity游戏中需要加载和管理游戏数据#xff0c;通常使用JSON文件是一种常见的方法。在本篇博客中#xff0c;我们将深入探讨如何使用C#和Unity的JSON反序列化功能来实现这一目标。我们可以使用Unity的JsonUtility来反序列化JSON数据并将其映射到自定义的C#数据结构中。 …当在Unity游戏中需要加载和管理游戏数据通常使用JSON文件是一种常见的方法。在本篇博客中我们将深入探讨如何使用C#和Unity的JSON反序列化功能来实现这一目标。我们可以使用Unity的JsonUtility来反序列化JSON数据并将其映射到自定义的C#数据结构中。 首先让我们来创建一些数据类以便加载和管理游戏中的角色和武器数据。在这个示例中我们将使用Player角色、Monster怪物和WeaponData武器数据这三种数据类型。 {players: [{id: 1,name: player0,weaponID: 102,maxHp: 50,damage: 0,defense: 0,moveSpeed: 5.0,coolDown: 0,amount: 0},{id: 2,name: player1,weaponID: 101,maxHp: 40,damage: -10,defense: 0,moveSpeed: 5,coolDown: 20,amount: 0},{id: 3,name: player2,weaponID: 101,maxHp: 50,damage: 20,defense: 1,moveSpeed: 5.0,coolDown: -50,amount: 1},{id: 4,name: player3,weaponID: 102,maxHp: 50,damage: -50,defense: -1,moveSpeed: 6,coolDown: 100,amount: 0}] } 我们需要创建了具有与JSON数据匹配的数据结构。这些类使用[Serializable]特性以便能够进行JSON序列化和反序列化 [Serializable]public class Monster{public int id;public string name;public int maxHp;public int damage;public int defense;public float moveSpeed;public int expMul;}在这里插入代码片通过观察JSON文件我们发现这个JSON文件示例是一个包含多个玩家信息的数组。 [Serializable]public class PlayerData{public ListPlayer players new ListPlayer();}我们可以用一个玩家数据结构的数组去存储这个json文件并 用 TextAsset textAsset Managers.Resource.LoadTextAsset($Data/PlayerData); PlayerData []players JsonUtility.FromJsonLoader(textAsset.text);去解析并且遍历它放到字典里 当我们要解析的json特别多时 我们定义了一个泛型方法LoadJson该方法负责加载JSON数据并将其反序列化为具体类型的字典。这个方法接受一个Loader类型该类型必须实现ILoader接口。 Loader LoadJsonLoader, Key, Value(string path) where Loader : ILoaderKey, Value{TextAsset textAsset Managers.Resource.LoadTextAsset($Data/{path});return JsonUtility.FromJsonLoader(textAsset.text);}ILoader接口 public interface ILoaderKey, Value {DictionaryKey, Value MakeDict(); }我们让存储具有JSON数据结构的数组继承该接口 [Serializable]public class PlayerData : ILoaderint, Player{public ListPlayer players new ListPlayer();public Dictionaryint, Player MakeDict(){Dictionaryint, Player dict new Dictionaryint, Player();foreach (Player player in players)dict.Add(player.id, player);return dict;}} 这样就可以将JSON文件反序列化放在数组中 public Dictionaryint, Data.WeaponData WeaponData { get; private set; } new Dictionaryint, Data.WeaponData();public Dictionaryint, Data.Player PlayerData { get; private set; } new Dictionaryint, Data.Player();public Dictionaryint, Data.Monster MonsterData { get; private set; } new Dictionaryint, Data.Monster();public void Init(){PlayerData LoadJsonData.PlayerData, int, Data.Player(PlayerData).MakeDict();WeaponData LoadJsonData.WeaponDataLoader, int, Data.WeaponData(WeaponData).MakeDict();MonsterData LoadJsonData.MonsterData, int, Data.Monster(MonsterData).MakeDict();}代码如下 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public interface ILoaderKey, Value {DictionaryKey, Value MakeDict(); }public class DataManager {public Dictionaryint, Data.WeaponData WeaponData { get; private set; } new Dictionaryint, Data.WeaponData();public Dictionaryint, Data.Player PlayerData { get; private set; } new Dictionaryint, Data.Player();public Dictionaryint, Data.Monster MonsterData { get; private set; } new Dictionaryint, Data.Monster();public void Init(){PlayerData LoadJsonData.PlayerData, int, Data.Player(PlayerData).MakeDict();WeaponData LoadJsonData.WeaponDataLoader, int, Data.WeaponData(WeaponData).MakeDict();MonsterData LoadJsonData.MonsterData, int, Data.Monster(MonsterData).MakeDict();}Loader LoadJsonLoader, Key, Value(string path) where Loader : ILoaderKey, Value{TextAsset textAsset Managers.Resource.LoadTextAsset($Data/{path});return JsonUtility.FromJsonLoader(textAsset.text);}} 在DataManager的Init方法中我们加载并初始化了游戏数据包括角色数据、武器数据和怪物数据。通过调用LoadJson泛型方法我们可以轻松地加载各种类型的JSON数据并将其转化为字典对象。 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;namespace Data {#region Character[Serializable]public class Player{public int id;public string name;public int weaponID;public int maxHp;public int damage;public int defense;public float moveSpeed;public int coolDown;public int amount;}[Serializable]public class PlayerData : ILoaderint, Player{public ListPlayer players new ListPlayer();public Dictionaryint, Player MakeDict(){Dictionaryint, Player dict new Dictionaryint, Player();foreach (Player player in players)dict.Add(player.id, player);return dict;}}#endregion#region Monster[Serializable]public class Monster{public int id;public string name;public int maxHp;public int damage;public int defense;public float moveSpeed;public int expMul;}public class MonsterData : ILoaderint, Monster{public ListMonster monsters new ListMonster();public Dictionaryint, Monster MakeDict(){Dictionaryint, Monster dict new Dictionaryint, Monster();foreach (Monster monster in monsters)dict.Add(monster.id, monster);return dict;}}#endregion#region Weapon[Serializable]public class WeaponData{public int weaponID;public string weaponName;public ListWeaponLevelData weaponLevelData new ListWeaponLevelData();}[Serializable]public class WeaponLevelData{public int level;public int damage;public float movSpeed;public float force;public float cooldown;public float size;public int penetrate;public int countPerCreate;}[Serializable]public class WeaponDataLoader : ILoaderint, WeaponData{public ListWeaponData weapons new ListWeaponData();public Dictionaryint, WeaponData MakeDict(){Dictionaryint, WeaponData dict new Dictionaryint, WeaponData();foreach (WeaponData weapon in weapons)dict.Add(weapon.weaponID, weapon);return dict;}}#endregion}通过使用Unity的JsonUtility和C#的泛型方法我们可以方便地加载和管理游戏数据。这种方法对于处理不同类型的数据非常有用而且代码可复用性很高。希望这篇博客对你了解Unity中的JSON反序列化和数据管理有所帮助。如果你有任何问题或需要进一步的指导请随时在评论中提问
http://www.yutouwan.com/news/231543/

相关文章:

  • 网站平台优化大气网站源码下载
  • 什么是sns网站做网站的公司都很小吗
  • 大庆做网站的公司在海口注册公司需要什么条件
  • 福州建网站的公司嘉定网站建设哪家好
  • 国内建设地铁的公司网站舟山网页设计
  • wordpress 制作企业站网站网页设计屏幕尺寸
  • 百度提交入口网站网址平台推广软件
  • 上线了做网站价格贵做程序的网站
  • 建设部注册师网站网站建设方案书简单
  • 高端网站设计服务商婚恋网站排名前10
  • 哪个网站可以做puzzle网站访客qq统计系统
  • 个人怎么做影视网站我想开科技怎么开
  • 淄博网络营销网站2345网址导航下载官网
  • 遂宁网站制作快速制作效果图软件
  • 网站建设包含的内容网站集群系统 如何做域名解析
  • 微信小程序怎么一键删除成都网站seo排名优化
  • python基础教程电子书在线阅读网络优化软件有哪些
  • 网络设计网站建设类网站模板南京做网站团队
  • 企业网站备案座机号轻媒做的网站
  • 珠海建设集团网站首页开网络公司做网站挣钱么
  • 软件介绍网站源码手机百度搜索app
  • 广饶网站建设wordpress 微信绑定
  • 网站如何做流量赚钱学电子商务有前途吗
  • 网站默认极速模式如何给网站做404页面
  • 潍坊微信网站wordpress 阅读主题
  • 商务型网站建设个人博客主页
  • 网站建设与维护试卷及答案安徽建设网
  • 做一张网站图多少钱旅游门户网站有哪些
  • 国内外知名建设设计网站网站标题怎么写
  • 免费营销型网站建设北京城乡建设部网站首页