本文档详细说明神像配置表的设计、生成和使用方法
神像配置表是游戏中所有神像基础信息的集中配置,主要用于:
神像配置表通过JSON格式文件提供给客户端,由服务端根据数据库中的神像数据动态生成。
神像配置表的数据主要来源于以下数据库表:
| 表名 | 说明 | 主要字段 |
|---|---|---|
| farm_shrine_configs | 神像配置表 | id, buff_type, name, description, duration_hours, item_id, display_attributes |
神像配置表(farm_shrine_configs)是神像配置的核心表,包含以下主要字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键ID |
| buff_type | tinyint | 神像类型:1丰收之神,2雨露之神,3屠草之神,4拭虫之神 |
| name | varchar | 神像名称 |
| description | varchar | 神像描述 |
| duration_hours | int | 默认持续时间(小时) |
| item_id | bigint | 对应物品ID |
| display_attributes | json | 显示属性 |
神像配置表JSON的生成由GenerateFarmShrineConfigJson命令类负责,主要流程如下:
public/json/farm_shrine.json文件可以通过以下命令手动触发神像配置表的生成:
php artisan farm:generate-shrine-json
也可以通过后台管理界面的"刷新"功能触发生成。
生成的神像配置表JSON结构如下:
{
"generated_ts": 1621234567,
"shrine_configs": [
{
"id": 1,
"buff_type": 1,
"name": "丰收之神",
"description": "确保收获时获得最高产量",
"duration_hours": 24,
"item_id": 3001,
"display_attributes": {
"icon": "shrine_harvest.png",
"color": "#FFD700",
"description": "激活后,收获作物时将获得最高产量"
}
},
// 更多神像...
]
}
神像配置表使用FarmShrineJsonConfig类进行缓存管理,主要特点:
客户端可以通过以下两种方式获取神像配置表数据:
/json/farm_shrine.json文件获取神像配置数据建议在游戏启动时获取并缓存神像配置数据。
服务端可以通过以下方式获取神像配置数据:
use App\Module\Game\DCache\FarmShrineJsonConfig;
// 获取神像配置数据
$shrineConfig = FarmShrineJsonConfig::getData();
// 强制刷新配置数据
$shrineConfig = FarmShrineJsonConfig::getData([], true);
神像配置表与其他配置表相互关联:
以下操作会触发神像配置表的更新:
可以通过以下方式监控配置表状态:
神像配置表的后台管理页面可以通过以下路径访问:
/admin/farm-shrine-configs
后台管理页面提供以下主要功能:
页面右上角的"立即刷新"按钮可以手动触发神像配置表的生成,确保客户端获取最新的配置数据。