核心概念

avatar`
Yuewu(罗传月武)
Updated: Jul 23, 2025

概述

本文档帮助你快速了解通用库存系统(GIS)中的核心概念及其功能。

道具

道具定义

ItemDefinition 是一个数据资产,创建新道具定义相当于新建一个类型为道具定义的资产。道具定义包含静态数据,可通过添加 ItemFragment 数据片段实现复杂的数据结构。

道具数据片段

ItemFragment 是附加到道具定义的数据对象,用户可自定义添加各种数据片段类型,以扩展道具的静态数据。

道具定义模式

ItemDefinitionSchema 是一种数据资产,用于对道具定义进行数据验证。在项目设置中指定模式,以约束道具定义的配置规范(例如,必须包含的数据片段及其顺序)。

道具实例

一个 ItemDefinition 可在运行时生成多个 ItemInstance。道具实例可被创建、销毁或保存加载。通过实例可访问其定义,实例数据(如强化或数值)可在运行时动态变化。

道具属性

每个 ItemInstance 可记录一组由 GameplayTags 标识的 float 或 int 类型属性,支持保存加载和网络复制。

库存

库存组件

GIS_InventorySystemComponent 通过一个或多个道具集合管理道具实例。一个 Actor 通常包含一个库存组件。游戏中的道具交互(如通过商店购买、拾取道具或获取敌人遗物)本质上是不同库存组件的道具集合之间的数据交换。玩家整理背包或装备武器等行为,是库存组件内不同集合之间的道具数据交互和排序。

道具集合定义

ItemCollectionDefinition 是道具集合的静态配置,定义集合的 Tags、限制等属性。

道具集合

一个库存可包含多种类型的 ItemCollection,每种集合可包含多个道具栈。道具栈可在同一库存的不同集合间或不同库存的集合间交换数据(例如,从商店库存购买道具到玩家库存)。

道具栈

ItemStack 是道具集合中的元素,为一个简单结构体,记录对应的 ItemInstance、数量及在集合中的位置。

道具信息

ItemInfo 是一个临时结构体,用于在操作中传递道具相关信息,如所属集合、数量及对应的道具实例。

装备

装备概述

某些道具在游戏世界中具有物理呈现(如武器、头盔、盔甲),在 GIS 中称为装备。

装备实例

EquipmentInstance 是实现了 GIS_EquipmentInterface 接口的 UObject 或 Actor,负责装备逻辑,如添加/移除技能或游戏效果,及生成/销毁装备 Actor。

装备 Actors

基于 UObject 的装备实例可关联一个或多个 Actor 作为物理呈现。例如,装备一个宠物会生成一个协助战斗的宠物 Actor。

装备系统组件

GIS_EquipmentSystemComponent 追踪库存系统中特定集合的道具变化,根据道具的装备数据自动装备或卸载实例,管理装备实例的创建、激活和销毁。

货币与商店

货币定义

GIS_CurrencyDefinition 是一个静态数据资产,用于定义货币类型。

货币系统组件

GIS_CurrencySystemComponent 是管理和追踪货币的容器。

商店系统组件

GIS_ShopSystemComponent 结合货币系统和库存系统,处理游戏中的交易逻辑。

底层概念

库存子系统

GIS_InventorySubsystem 负责 GIS 的底层操作逻辑,是对库存工厂(Inventory Factory)的封装。一般情况下,用户无需深入了解此部分。

库存工厂

GIS_InventoryFactory 是一个可自定义的类,允许用户在底层控制道具的创建、复制和序列化等操作。

logo_small
罗传月武

© 罗传月武 @2025 版权所有.