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

57 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` | 容器引用,用于木桶物品管理 |