Unity游戏数据存取之Json大法

本文探讨了Unity游戏中的数据类型,包括固定数据、用户数据和临时数据,并详细介绍了如何使用Json进行数据存取。基础库类讲解了Json文件数据的读取,强调了Json文件头变量名的重要性。同时,文中还提到了用户数据和临时数据的类结构,以及固定数据如怪物数据的Json处理方法。
摘要由CSDN通过智能技术生成

游戏数据类型

游戏数据浅分为三种:固定数据、用户数据、临时数据。

  1. 固定数据:由大量配置文件读取的固定游戏逻辑数据。
  2. 用户数据:用户行为产生的游戏数据,一般需要永久保存。
  3. 临时数据:保存游戏状态,用以游戏状态(关卡、场景等)的恢复。

基础库类

用以简单的存取Json文件数据(上一篇已经讲如何将配置的excel文件转成Json文件)

public class BaseRepository<T>
{
	//加载库数据,例如英雄数据、武器数据、道具数据等
	public List<T> GetGameData(string fileName)
    {
        var dataAsJson = LoadDataAsJson(fileName);
        if (!string.IsNullOrEmpty(dataAsJson))
        {
            GameData<T> loadedData = JsonUtility.FromJson<GameData<T>>(dataAsJson);
            return loadedData.gameData.ToList();
        }
        else
        {
            Debug.LogError($"Cannot load {fileName} data!");
        }

        return new List<T>();
    }
    //加载用户数据、临时数据等
    public T GetPersistentData(string fileName)
    {
        try
        {
            var dataAsJson = File.ReadAllText(Application.persistentDataPath + fileName);
            if (!string.IsNullOrEmpty(dataAsJson))
            {
                T loadedData = JsonUtility.FromJson<T>(dataAsJson);
                return loadedData;
            }
            else
            {
                Debug.LogError($"Cannot load {Application.persistentDataPath + fileName} data!");
            }
        }
        catch (Except
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值