ItemRecipe 模型,集成消耗组、奖励组和条件组update_item_recipes_for_groups.sqlRecipeController优化后的合成系统.mdCreateSampleRecipes.phpItemRecipe (配方)
├── result_item_id (产出物品)
├── result_quantity (产出数量)
├── coin_cost (金币消耗)
├── unlock_condition (解锁条件)
└── ItemRecipeMaterial (材料列表)
├── item_id (物品ID)
├── quantity (数量)
└── is_consumed (是否消耗)
ItemRecipe (配方)
├── consume_group_id → GameConsumeGroup (消耗组)
│ └── GameConsumeItem[] (消耗项列表)
├── reward_group_id → GameRewardGroup (奖励组)
│ └── GameRewardItem[] (奖励项列表)
└── condition_group_id → GameConditionGroup (条件组)
└── GameConditionItem[] (条件项列表)
-- 执行数据库结构更新
source database/sql/update_item_recipes_for_groups.sql;
# 运行示例配方创建命令
php artisan recipes:create-samples
ConsumeService 和 ConditionService 的相关方法已实现ConsumeService::checkConsumeGroup() 方法ConditionService::checkConditionGroup() 方法通过这次优化,合成系统已经从简单的材料-产出模式升级为灵活的组系统模式。新系统不仅提供了更强的功能性和扩展性,还与游戏中的其他系统保持了一致的设计理念。这为未来的功能扩展和游戏平衡调整提供了坚实的基础。