跳转到正文

GIS 功能列表

作

作者

作者

创建时间: 2026年9月09日更新时间: 2026年10月14日

目录

可以构建什么

Generic Inventory System 提供一套库存类玩法的通用模型,用于连接物品、容器、装备、制作、货币、商店、掉落、拾取、存档和多人状态。它提供物品运行时、规则、流转路径和扩展点;你的项目仍然决定 UI、经济平衡、交互权限和最终表现。

可实现的玩法模式

  • 角色背包、仓储容器、战利品袋、任务容器、快捷栏和 loadout
  • 可堆叠消耗品、唯一任务物品、分类限制容器和固定装备槽
  • 从槽位物品创建的武器、护甲、工具、宠物、技能或项目自定义装备
  • 材料制作、建造或种植资源循环、多货币、商人买卖和动态价格规则
  • 世界掉落、拾取、库存存档、UI 事件和多人复制状态

物品定义、实例与 Fragment

  • 一次定义,多处实例化。 静态物品内容放在 Item Definition Data Asset,进入世界或容器时生成带唯一 ID 的运行时实例。
  • 按物品职责组合行为。 Fragment 可提供默认状态、验证、序列化、复制兼容数据、装备元数据、商店数据、制作配方、动态属性和项目自定义规则,避免为每种物品建立一条继承链。
  • 把设计师配置留在数据里。 常见物品定义、集合选择、槽位规则、货币定义、配方和 UI 参考数据都可以通过 Unreal 资产和 Gameplay Tag 编辑。
  • 按项目需要扩展 Schema。 项目可以用 Blueprint 或 C++ 添加自己的 Fragment、Fragment 状态、验证规则和物品工厂行为。

集合、槽位与接收规则

  • 用标签区分容器职责。 Gameplay Tag 集合可表达主背包、任务容器、装备栏、快捷栏、战利品容器或任意项目容器。
  • 为不同布局选择合适集合。 普通、多堆叠和槽位集合分别适合自由存储、堆叠物品和固定槽位。
  • 在接收前拒绝错误物品。 限制规则可校验唯一性、标签要求、堆叠大小和堆叠数量。
  • 跨玩法复用规则。 拾取、掉落、制作、商店、loadout 和装备流程都可以通过集合规则,而不是重复编写校验。

权威多人状态

  • 让变更发生在权威端。 添加、移动、移除、重置、初始化和默认 loadout 操作走 authority-only 路径,并提供可靠 Server RPC 入口。
  • 有意识地复制运行时状态。 GIS 使用可复制组件、可复制子对象、基于 FastArraySerializer 的容器,并在合适位置使用 Push Model dirty marking。
  • 让表现层响应变化。 初始化、集合变化、堆叠变化、添加失败、移除、拾取结果、世界物品变化和 Fragment 更新都有事件或异步访问入口。

装备、制作、经济与世界交互

  • 把装备纳入库存模型。 装备组件从标签槽位装备物品,追踪激活状态和装备组,并允许项目创建自己的装备 UObject 或 Actor。
  • 按配置配方制作。 制作会消耗库存输入、检查配方可用性并产出配置结果,同时把校验和数值平衡留给项目规则。
  • 围绕项目经济建立商店。 货币与商店组件支持条目、买卖流程、条件、目标集合和 Blueprint Native 价格修正。
  • 让物品经过世界流转。 Dropper 和 pickup 组件通过权威端世界 Actor 转移物品、货币或库存负载。
  • 保存真正需要的状态。 SaveGame 记录结构覆盖库存、集合、堆叠、物品、Fragment 和货币数据。

配套项目参考

  • 观察一套可运行 GIS demo。 配套项目包含 /Game/GenericDemo/GIS/Levels/GIS_Demo,以及物品、集合、装备、拾取、掉落、存档和 UI 示例。
  • 参考不耦合核心代码的 UI 模式。 库存菜单、装备菜单、商店菜单、物品堆叠条目、拖拽辅助、详情面板、战利品界面和货币组件位于配套内容,而不是代码插件包内。
  • 在 demo 需要共享 UI 和交互基础时使用 Generic Game System。 当前配套项目配置包含 GGS 支持内容,与产品拆分一致。

需要围绕设计的边界

  • 插件本体是 code-only;示例内容、UI 和可运行 demo 在购买验证后的配套项目中学习。
  • 复制和 RPC 是基础设施,不等于完整玩法安全模型;交互请求、所有权、客户端预测和游戏结果仍需项目校验。
  • GIS 不规定最终 UI、经济数值、建造逻辑、种植逻辑或装备表现,只提供这些系统可复用的物品运行时模型。