基于 项目02《游戏-05-开发》Unity3D ,
接下来做 背包系统的 存储框架 ,
首先了解静态数据 与 动态数据,静态代表不变的数据,比如下图武器Icon,
其中,武器的名称,描述,图标,星级,详细技能描述都是不变的,称为静态数据,
而动态数据 会随着游戏进度的改变而发生改变,
其中,武器的等级,数量,是否拥有武器等这些都是可变的,成为动态数据,
对于静态数据的配置,有两种比较常用的方案,
第一种是使用Excel表格进行配置,
第二种是使用unity内置的【Scripper object】进行配置,
其中使用Ecel表格的可视化会更强大,适用于多人协作,缺点是步骤比较繁琐,需要多一步导出操作,
因此我们使用【Scripper object】进行配置,
对于动态数据的配置,也有两种方法,
第一种是存储在服务器上,登陆的时候从服务器拉取数据,
第二种是存储在本地,登陆的时候从文本文件中去读取当前的进度,
这两种最大的区别是一个记录在远程的机器上,一个记录在本地的机器上,
也就是网游和单机的区别,
本次我们使用第二种方案【JSON】
首先我们进行静态数据的配置,
创建背包表格PackageTable.cs脚本,功能是使用右键在unity编辑器中创建一个自定义配置文件,
可以传入两个参数,一个是菜单名称,另一个是创建后文件的名称,
双击PackageTable.cs修改脚本:
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Water/PackageTable",fileName = "PackageTable")]
public class PackageTable : ScriptableObject{
public List<PackageTableItem> dataList =