feat: 开局赠送灵石/灵米(配置驱动);文档同步 D6 步骤1-2 完成
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> 对应开发计划表 D6(8/8):① 灵石矿场景 ② 建造→产出 ③ 升级。交付标准:建筑产资源,升级加速。
|
||||
> 本文档只描述设计,不包含代码。
|
||||
> 状态:设计稿,待审阅通过后实现
|
||||
> 状态:步骤 1–2 已实现(食物资源/HUD 灵米显示/开局 500 灵石+100 灵米配置驱动),步骤 3+ 待实现
|
||||
|
||||
---
|
||||
|
||||
@@ -133,19 +133,19 @@ hunger_threshold_days=30 ; 断粮累计天数上限(达到即离宗)
|
||||
|
||||
## 七、分步实现规划(小步可验证,每步独立跑通)
|
||||
|
||||
### 步骤 1:SectManager 加食物资源 + 开局资源发放
|
||||
### 步骤 1:SectManager 加食物资源 + 开局资源发放 ✅
|
||||
|
||||
| 项 | 内容 |
|
||||
|----|------|
|
||||
| 改动 | `SectManager.gd` 加 `food` 资源 + `add_food/remove_food` + `food_changed` 信号;`MainGame.gd` 新游戏时发放开局灵石/食物 |
|
||||
| 验证 | 无头运行后控制台打印 `SectManager.food`,增减接口调用正确 |
|
||||
| 改动 | `SectManager.gd` 加 `food` 资源 + `add_food/remove_food` + `food_changed` 信号;`GameConfig.gd` 读 `[building]` 节开局数量;`MainGame.gd` 新游戏时发放 |
|
||||
| 验证 | ✅ HUD 显示 500 灵石 / 100 灵米,增减接口调用正确 |
|
||||
|
||||
### 步骤 2:HUD 食物显示
|
||||
### 步骤 2:HUD 食物显示 ✅
|
||||
|
||||
| 项 | 内容 |
|
||||
|----|------|
|
||||
| 改动 | `TopBarHUD.tscn` 加"食物"标签对;`top_bar_hud.gd` 连 `food_changed` 信号 + 初始值 |
|
||||
| 验证 | 开局 100 食物显示在顶栏;`add_food` 实时刷新 |
|
||||
| 改动 | `TopBarHUD.tscn` 加"灵米"标签对;`top_bar_hud.gd` 连 `food_changed` 信号 + 初始值 |
|
||||
| 验证 | ✅ 开局 100 灵米显示在顶栏;`add_food` 实时刷新 |
|
||||
|
||||
### 步骤 3:`[building]` / `[food]` 配置节 + GameConfig 读取
|
||||
|
||||
@@ -188,7 +188,7 @@ hunger_threshold_days=30 ; 断粮累计天数上限(达到即离宗)
|
||||
|
||||
## 八、验收清单(D6 交付标准)
|
||||
|
||||
- [ ] 新游戏开局赠送 500 灵石 + 100 食物(配置可调),HUD 可见
|
||||
- [x] 新游戏开局赠送 500 灵石 + 100 食物(配置可调),HUD 可见
|
||||
- [ ] 点"资源"按钮打开建筑面板(时间暂停,关闭恢复)
|
||||
- [ ] 灵石充足时可建造灵石矿/灵田,扣费入列
|
||||
- [ ] 每日自动产出灵石/食物,HUD 实时增长
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
| 8/5 三 | D3 | 弟子生成 + 入宗分流 | ① 随机名字/资质/灵根 ② 按资质分四类 ③ 招募流程 | 开局 5 选 3 必选满,定期弹窗可全拒/全收 | ✅ 完成(弹窗招募:开局5选3+定期3候选,配置驱动含天灵根;新增 GameConfig 配置系统)<br>追加:天灵根改为仅天骄资质再掷(`heavenly_root_chance`),灵根数量 1~5 权重配置化(`root_count_weights`),容量公式 1÷根数 |
|
||||
| 8/6 四 | D4 | 弟子列表 UI | ① 列表条目场景 ② 姓名/资质/境界显示 ③ 点击详情 | 列表可浏览弟子 | ✅ 完成(管理按钮入口,名录面板+详情弹窗,天灵根标记,打开面板暂停时间) |
|
||||
| 8/7 五 | D5 | 修炼循环 | ① 修为随时间增长(资质×灵气) ② 境界门槛 ③ 突破判定 | 弟子自动修炼,可突破 | ⬜(设计已就绪:容量=1÷根数、无灵根体修预留、[cultivation] 配置节,待实现) |
|
||||
| 8/8 六 | D6 | 建筑系统基础 | ① 灵石矿场景 ② 建造→每时辰产出 ③ 升级 | 建筑产灵石,升级加速 | ⬜ |
|
||||
| 8/8 六 | D6 | 建筑系统基础 | ① 灵石矿场景 ② 建造→每时辰产出 ③ 升级 | 建筑产灵石,升级加速 | 🟡 进行中(设计文档完成:口粮/离宗方案B+分步规划;步骤1-2已实现:食物资源/HUD灵米/开局赠送配置化) |
|
||||
| 8/9 日 | D7 | 休息 / 补漏 | 修本周 bug,整理代码 | git 干净 | ⬜ |
|
||||
| 8/10 一 | D8 | 存档接入 | ① SaveSystem JSON 序列化 ② 存/读接口 ③ 替换 SavePanel 测试数据 | 读档后数据还原 | ⬜ |
|
||||
| 8/11 二 | D9 | 打磨 | 数值平衡初调,玩 10 分钟验证 | 无致命 bug | ⬜ |
|
||||
|
||||
@@ -30,3 +30,7 @@ bottleneck_levels=[4, 7, 10, 13] ; 瓶颈目标层(升到这些层需突
|
||||
|
||||
[ui] ; UI 通用
|
||||
hud_font_size=24 ; HUD 字体大小
|
||||
|
||||
[building] ; 建筑系统通用
|
||||
starting_spirit_stones=500 ; 开局赠送灵石
|
||||
starting_food=100 ; 开局赠送灵米
|
||||
|
||||
@@ -42,6 +42,12 @@ var bottleneck_levels: Array[int] = [4, 7, 10, 13]
|
||||
## HUD 字体大小。
|
||||
var hud_font_size := 32
|
||||
|
||||
# —— 建筑系统(对应 cfg 的 [building] 节)——
|
||||
## 开局赠送灵石(新游戏发放)。
|
||||
var starting_spirit_stones := 500
|
||||
## 开局赠送灵米(新游戏发放)。
|
||||
var starting_food := 100
|
||||
|
||||
## 各难度资质权重表(键 = 难度档位,值 = 下品/中品/上品/天骄 权重)。
|
||||
var aptitude_weights_by_difficulty: Dictionary = {
|
||||
"normal": [45, 35, 15, 5],
|
||||
@@ -95,6 +101,9 @@ func _load_config() -> void:
|
||||
bottleneck_levels = arr_bn
|
||||
# UI 通用
|
||||
hud_font_size = cfg.get_value("ui", "hud_font_size", hud_font_size)
|
||||
# 建筑系统
|
||||
starting_spirit_stones = cfg.get_value("building", "starting_spirit_stones", starting_spirit_stones)
|
||||
starting_food = cfg.get_value("building", "starting_food", starting_food)
|
||||
var apt_raw: Variant = cfg.get_value("cultivation", "aptitude_speed", [])
|
||||
if apt_raw is Array and apt_raw.size() == aptitude_speed.size():
|
||||
var arr: Array[float] = []
|
||||
|
||||
@@ -9,6 +9,9 @@ func _ready() -> void:
|
||||
TimeSystem.apply_default_speed()
|
||||
# 开局招募:清空旧数据 → 生成 5 名候选 → 暂停时间等待选择(读档流程接入后由存档还原)
|
||||
DiscipleManager.start_new_game()
|
||||
# 开局赠送资源(数量来自配置;读档流程接入后由存档还原)
|
||||
SectManager.add_spirit_stones(GameConfig.starting_spirit_stones)
|
||||
SectManager.add_food(GameConfig.starting_food)
|
||||
|
||||
## 顶部 HUD 的返回主菜单请求。
|
||||
func _on_top_bar_hud_sign_return_mainmenu() -> void:
|
||||
|
||||
Reference in New Issue
Block a user