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

网站开发建设费用明细友情链接交换形式有哪些

网站开发建设费用明细,友情链接交换形式有哪些,wordpress自定义搜索页面,大芬网站建设这段代码的结构是为了实现 数据的封装和管理,特别是在 Unity 中保存和加载玩家数据时。以下是对代码设计的逐步解释: 1. PlayerCoin 类 PlayerCoin 是一个简单的数据类,用于表示单个玩家的硬币信息。它包含以下字段: count&…

这段代码的结构是为了实现 数据的封装和管理,特别是在 Unity 中保存和加载玩家数据时。以下是对代码设计的逐步解释:

1. PlayerCoin 类

PlayerCoin 是一个简单的数据类,用于表示单个玩家的硬币信息。它包含以下字段:

  • count:玩家拥有的硬币数量。

  • name:玩家的名字。

  • isWinner:表示玩家是否获胜。

  • [System.Serializable]:这个属性告诉 Unity 这个类可以被序列化(即将其数据转换为 JSON 或其他格式)。这是 Unity 中保存数据的必要步骤。

2. PlayerCoinList 类

PlayerCoinList 是一个容器类,用于管理多个 PlayerCoin 对象。它包含一个 List<PlayerCoin>,用于存储玩家数据。

  • List<PlayerCoin>:这是一个动态数组,可以存储任意数量的 PlayerCoin 对象。

  • [System.Serializable]:同样需要这个属性,因为 Unity 需要将整个 PlayerCoinList 对象序列化为 JSON。

3. DataSaveManager 类

DataSaveManager 是一个 Unity 的 MonoBehaviour,用于管理数据的保存和加载。它包含一个 PlayerCoinList 对象,用于存储和操作玩家数据。

  • MonoBehaviour:这是 Unity 中所有脚本的基类,允许脚本附加到游戏对象上。

  • PlayerCoinList list:这是一个实例化的 PlayerCoinList 对象,用于存储玩家数据。

为什么这样设计?

1. 数据封装
  • PlayerCoin:表示单个玩家的数据。

  • PlayerCoinList:表示多个玩家的数据集合。

  • DataSaveManager:负责管理这些数据的保存和加载。

这种分层设计的好处是:

  • 数据结构清晰,易于扩展。

  • 每个类都有明确的职责,代码更易于维护。

2. 序列化的需求

Unity 的 JsonUtility 类只能序列化带有 [System.Serializable] 属性的类。因此:

  • PlayerCoinPlayerCoinList 都需要标记为 [System.Serializable]

  • PlayerCoinList 是一个“根对象”,因为 JsonUtility 需要一个根对象来序列化整个数据结构。

3. Unity 的 JSON 限制

Unity 的 JsonUtility 不能直接序列化 List<T> 或数组,因此需要将 List<PlayerCoin> 包装在一个类(如 PlayerCoinList)中,作为序列化的根对象。

using UnityEngine;
using System.Collections.Generic;
using System.IO;[System.Serializable]
public class PlayerCoin
{public int count;public string name;public bool isWinner;
}[System.Serializable]
public class PlayerCoinList
{public List<PlayerCoin> playerCoinList = new List<PlayerCoin>();
}public class DataSaveManager : MonoBehaviour
{public PlayerCoinList list = new PlayerCoinList();void Start(){// 添加示例数据PlayerCoin player1 = new PlayerCoin();player1.count = 100;player1.name = "Player1";player1.isWinner = true;PlayerCoin player2 = new PlayerCoin();player2.count = 50;player2.name = "Player2";player2.isWinner = false;list.playerCoinList.Add(player1);list.playerCoinList.Add(player2);// 保存数据SaveData();// 加载数据LoadData();}void SaveData(){// 将对象序列化为 JSONstring json = JsonUtility.ToJson(list);// 将 JSON 数据写入文件string filePath = Application.persistentDataPath + "/playerData.json";File.WriteAllText(filePath, json);Debug.Log("Data saved to: " + filePath);}void LoadData(){string filePath = Application.persistentDataPath + "/playerData.json";// 检查文件是否存在if (File.Exists(filePath)){// 读取 JSON 数据string json = File.ReadAllText(filePath);// 反序列化 JSON 数据list = JsonUtility.FromJson<PlayerCoinList>(json);Debug.Log("Data loaded from: " + filePath);}else{Debug.Log("File not found: " + filePath);}}
}
http://www.dtcms.com/wzjs/510967.html

相关文章:

  • 广州网络seo优化东莞百度推广优化
  • 广州网站推广找谁百度2022年版本下载
  • 网站建设与维护设计报告网络优化初学者难吗
  • 凡科网可以免费做网站吗seo模拟点击有用吗
  • 商丘网站制作方案爱站长尾关键词挖掘工具
  • 做私人网站 违法免费入驻的跨境电商平台
  • 建设网站深圳学电脑办公软件培训班
  • 厦门网站建设2015seo二级目录
  • 做自由行的网站北京百度总部
  • wordpress 获取附件seo外链收录
  • 衢州建设网站搜索优化指的是什么
  • 国平seoseo快速排名站外流量推广
  • 网站实名制 怎么做电商运营培训
  • 权威的南通网站建设网站的建设流程
  • wordpress注册登录插件网站seo优化教程
  • 换了家公司做网站如何接入备案北京seo培训
  • 暴力破解网站后台密码免费信息推广平台
  • 织梦怎么做淘客网站站长号
  • 手机网站给一个企业网络推广的方式有哪些
  • 免费给别人做任务的网站广告推广系统
  • 南昌市会做网站有哪几家关键词seo优化排名公司
  • 网站建设的开题报告提高工作效率图片
  • 个人做网站接装修活哪个网站好如何做好营销
  • 什么网站可以做相册视频怎么做网页宣传
  • 荆门市网站建设最新国际新闻大事件
  • 网站建设推广服务合同范本百度关键词seo排名
  • 所谓做网站就这么几步保定seo外包服务商
  • 华为弹性服务器怎么建wordpressyoast seo教程
  • 建企业网站多少钱php免费开源crm系统
  • 沈阳网站建设公司熊掌号seo关键词排名技术