Files
loneseDocument/Content/Blueprints/BP_DefaultContainer.md
meishibiezb a8bdf281ff update
2026-06-05 03:01:15 +08:00

2.8 KiB
Raw Blame History

BP_DefaultContainer

基本信息

  • 类型: Blueprint (UObject)
  • 父类: UDefaultContainer
  • 源文件: /Game/Blueprints/Playground/BP_DefaultContainer.BP_DefaultContainer
  • 模块: Content/Blueprints/Playground

功能概述

BP_DefaultContainer 是 UDefaultContainer 的蓝图子类,作为物品系统的默认容器在蓝图层中使用。无额外自定义变量,直接使用 C++ 父类的完整 IItemContainer 实现,提供 CreateItem、GetItemViews、MoveItem 等物品操作接口。

设计用意

UDefaultContainer 是 C++ 中 IItemContainer 的默认实现但不方便在编辑器中直接引用。BP_DefaultContainer 提供了一个蓝图可引用、可放置的资产版本,使得其他蓝图(如 BP_InventoryComp可以通过编辑器直接引用它作为物品存储容器简化了工作流。

职责范围

BP_DefaultContainer 作为物品容器的蓝图实例化版本负责在编辑器中作为可引用的资产存在。底层的物品存储机制、IItemContainer 接口实现全部由 C++ 父类 UDefaultContainer 处理。

项目内依赖

依赖项 关系 源文件
UDefaultContainer 父类 Item 插件
IItemContainer 间接实现 Item 插件

外部视角

BP_DefaultContainer 是 UDefaultContainerItem 插件 C++ 类)的蓝图子类,从外部调用者视角:

接口概览

  • 无自定义变量或函数,所有接口继承自 C++ 父类 UDefaultContainer
  • UDefaultContainer 实现 IItemContainer 接口提供CreateItem、GetItemViews、MoveItem、RemoveItem 等物品操作
  • 本身是纯配置层——使 UDefaultContainer 在蓝图中可引用

外部交互方式

  • 作为 BP_InventoryComp 的 DefaultContainer 变量默认实例
  • 其他蓝图通过 BP_InventoryComp 间接访问 BP_DefaultContainer 的物品操作接口

EventGraph 事件

事件 类型 触发时机 行为
(无) EventGraph 为空,所有功能由 C++ 父类实现

使用方法

BP_DefaultContainer 在项目中的典型调用流程:

  • 初始化流程 — BP_InventoryComp.BeginPlay → 创建 BP_DefaultContainer 实例 → 存入 DefaultContainer 变量 → 外部系统通过 BP_InventoryComp 间接调用 IItemContainer 接口

用例

引用方 路径 用途
BP_InventoryComp /Game/Blueprints/Playground/BP_InventoryComp 作为默认容器实例,管理物品存储
BP_Bomb /Game/Blueprints/Playground/BP_Bomb 容器引用,用于炸弹物品生命周期
BP_ItemTrap /Game/Blueprints/Playground/BP_ItemTrap 容器引用,用于陷阱物品管理
BP_Barrel /Game/Blueprints/Playground/BP_Barrel 容器引用,用于木桶物品管理