开发状态
制作系统仍在开发中,尚未完成全面验证,接口和行为可能变化。 以下说明当前源码提供的即时制作流程,供开发和测试参考;请勿将其视为已正式就绪的生产功能。
配方与请求
- 创建道具定义,为其添加
GIS_ItemFragment_CraftingRecipe。配置InputItems、可选InputCurrencies和OutputItems;各条目使用有效定义及正数量,产出列表不能为空。 - 在适当的 Actor 上添加
GIS_CraftingSystemComponent,准备支付成本的库存;使用货币成本时还需为该库存提供货币系统。 - 构造
FGIS_CraftingRequest,指定配方、数量和CostInventory。可指定不同的OutputInventory、输入集合标签和产出集合标签;未指定产出库存时使用成本库存,未指定输入标签时检查非忽略集合。
评估与提交
调用 CanCraftRequest 评估并查看 FGIS_CraftingResult 的成本、计划产出和失败原因。它不会提交库存变化;库存可能在评估后发生变化。
由服务器权威端调用 CraftRequest,该函数重新评估后扣除材料和货币、添加产出;提交失败时当前实现调用回滚逻辑。项目仍需验证权限、并发、容量变化及自定义扩展的恢复行为,不能仅凭预检结果保证后续成功。
旧 Craft / CanCraft 使用同一库存作为成本和产出,是便利入口;需要分库存或详细结果时使用请求 API。自定义实现应检查 EvaluateCraftingRequest、RemoveItemIngredients、AddCraftingOutputs 和 RollbackCraftingCommit 等扩展点,并验证完整事务流程。
测试建议
在独立测试项目覆盖材料或货币不足、无效配方、目标集合无法接收、不同成本和产出库存、提交失败恢复及多人权威。配套项目中发现的 UI Context 不代表完整制作示例;配套项目与示例资产介绍当前可检查的内容。