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

网站图片布局seo关键词排名实用软件

网站图片布局,seo关键词排名实用软件,怎么修改网站首页html代码,汕头专业的开发网站方案当在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.zqtcl.cn/news/610439/

相关文章:

  • 企业展示型网站网站建设设计
  • 增城网站建设服务网站建设制作设计公司佛山
  • 微网站套餐自媒体网站源码模板dede
  • 企业网站改版升级成都便宜网站建设公司
  • 广州公共资源建设工程交易中心网站新塘做网站
  • 数码港 太原网站开发公司iis 建立子网站
  • 做一个自己的网站需要什么商标设计网站猪八戒
  • 傻瓜式网站建设软件保险预约
  • 网站 备案规定自己做简单网站
  • 网站上怎么做支付接口南乐网站建设
  • 咸阳网站建设公司电话做个公司网站大概多少钱
  • 网站如何做关键词排名点子网创意网
  • 浙江建设培训考试网站河源东莞网站建设
  • 网站移动端做pc端的301跳转哪些网站是增值网
  • wordpress新闻站浙江耀华建设集团网站
  • 网站开发代理企业网站推广技巧和方法
  • 俄语网站开发用模板做的网站多少钱
  • 丽水网站建设公司广州网络公司
  • 做基金的网站哪个好针对大学生推广引流
  • 国外对旅游网站的建设互联网推广和互联网营销
  • 海南省建设厅网站首页有什么做设计的兼职网站
  • 网站导航功能苏州市高新区建设局网站
  • jsp网站 值班多语种网站开发
  • 公司网站英文做电商
  • 合肥企业网站建设公司哪家好卖产品怎么做网站
  • 网站建设公司86215中国中小企业网站
  • 做网站 如何 挣钱游戏网站开发协议
  • 网站建设发展wordpress比较慢
  • 收费网站推广动漫制作就业方向
  • 湖北优化网站建设设计公司需要什么资质