库存系统概念

术语
一些术语,帮助你快速了解GIS中的各种概念。
道具定义
道具定义是一个数据资产,创建一个新道具定义相当于新建一个类型为道具定义的资产。道具定义本质上是静态数据,可以添加道具数据片段,以实现复杂的数据结构。
道具定义模式
道具定义模式是另一种数据资产,但用于数据验证。每个道具定义可以关联一个模式,以约束道具定义的配置规范(例如,包含哪些数据片段,数据片段的顺序等)。
道具实例
一个道具定义可以在游戏进行时产生多个道具实例。实例可以被创建、销毁或保存。通过一个道具实例,可以获取其定义。道具实例也可以在游戏进行时发生数据变化(例如,强化或数值变更)。
道具信息
道具信息是一个临时的结构体,用于在不同操作中传递道具相关信息,例如其所属集合、数量及对应的道具实例等。
库存
库存组件通过一个或多个道具集合来组织和管理道具实例。一个Actor通常拥有一个库存组件。在游戏中,玩家通过商店系统购买道具、从地上拾取道具,或击败敌人获取遗物,这些机制本质上可以理解为两个不同库存组件之间的道具数据交换。玩家在游戏中整理背包、装备武器等行为,实际上只是库存组件内不同集合之间的道具数据交互和排序。
库存集合
一个库存可以包含多个道具集合,每个集合可以包含多个道具栈。不同的道具栈可以在同一库存下的不同集合之间交换信息,也可以与其他库存中的集合交换信息(例如,从商店库存购买一个道具到玩家的库存)。
道具栈
道具集合中的每个元素都是一个道具栈,而道具栈只是一个简单的结构体,用于存放对应的道具实例及其数量,以及在集合中的位置。
库存子系统
库存子系统负责根据道具定义创建道具实例的底层系统。实际的创建逻辑由道具工厂(Item Factory)负责。一般来说,你不需要了解此部分。
装备
一些道具在游戏世界中有其物理呈现,例如武器、头盔、盔甲等。这类具体实体的道具在GIS中称为装备。装备组件会观察库存中特定集合的装备道具变化,并根据装备道具进行装备物理实例的创建和销毁等。