# Item 插件依赖关系 ## 文件间引用关系 | 源文件 | 引用方式 | 目标文件 | 目标单位 | |--------|---------|---------|---------| | ItemContainer.cpp | #include | ItemFactory.h | ItemFactory | | DefaultContainer.cpp | #include | ItemRegistrySubsystem.h | UItemRegistrySubsystem | | DefaultContainer.cpp | #include | ItemViewFactory.h | FItemViewFactory | | DefaultContainer.cpp | #include | ItemFactory.h | ItemFactory | | DefaultContainer.h | #include | ItemContainer.h | IItemContainer | | Inventory.h | #include | ItemContainer.h | IItemContainer | | ItemViewFactory.cpp | #include | ItemRegistrySubsystem.h | UItemRegistrySubsystem | | ItemViewFactory.cpp | #include | ItemFactory.h | ItemFactory | | ItemViewFactory.cpp | #include | ItemContainer.h | IItemContainer | | ItemViewFactory.cpp | #include | ItemViewStrategy.h | IItemViewStrategy | | ItemViewFactory.h | forward-declare | (header-only) | FItemView, FItemInstance, FItemDef, UItemRegistrySubsystem | | ItemRegistrySubsystem.cpp | #include | ItemFactory.h | ItemFactory | | ItemRegistrySubsystem.cpp | #include | ItemRegistrySettings.h | UItemRegistrySettings | ## 关键依赖链 1. Item Creation: UItemRegistrySettings -> UItemRegistrySubsystem::Initialize -> ItemFactory::CreateItemInstance -> FItemInstance -> IItemContainer::InjectPayload -> UItemTracer 2. Item View: UDefaultContainer::GetItemViews -> FItemViewFactory::CreateView -> UItemRegistrySubsystem::GetViewStrategy -> IItemViewStrategy::GetPropertyText -> FItemView 3. Item Movement: IItemContainer::MoveItem -> InjectPayload (NVI) -> UItemTracer::SetItemLocation -> OnItemMoved delegate 4. Blueprint Inventory: IInventory::RequestMoveItem -> IInventory::ReceiveItem -> IItemContainer::InjectPayload 5. Item Lookup: UDefaultContainer::CreateItem -> UItemRegistrySubsystem::GetItemDef -> FItemDef -> ItemFactory::CreateItemInstance