初次提交

This commit is contained in:
2026-07-20 10:56:52 +08:00
commit 7bcc0026e0
462 changed files with 50191 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
## TimeManager — 时间缩放与 GameTick 计数器(Autoload: TimeManager
## 权威来源:implementation_plan.md §2.1 Layer-0
##
## - time_scale: 全局时间缩放(慢动作 / 冻结时间 Core 效果)
## - game_tick: 物理帧计数器(每 _physics_process 递增 1)— 不受 time_scale 影响
extends Node
var time_scale: float = 1.0
var game_tick: int = 0
func _ready() -> void:
process_mode = Node.PROCESS_MODE_ALWAYS # 暂停时仍持续计数
func _physics_process(_delta: float) -> void:
game_tick += 1
Engine.time_scale = time_scale
## 返回当前帧缩放后 delta(供战斗系统使用)
func scaled_delta(raw_delta: float) -> float:
return raw_delta * time_scale
## 设置时间缩放(clamp 防止异常値)
func set_time_scale(scale: float) -> void:
time_scale = clamp(scale, 0.0, 10.0)
## 恢复正常速度
func reset_time_scale() -> void:
time_scale = 1.0
Engine.time_scale = 1.0
## 忽略帧计数器(关卡重置)
func reset() -> void:
game_tick = 0
reset_time_scale()