mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-31 08:21:54 +08:00
feat(状态条): 添加血量变化延迟动画和强制同步功能
- 在ColorBar中添加lastChangeTime记录最后变化时间,配合GameRule.detainTime实现血量变化延迟动画 - 新增forceSync方法用于强制同步状态条显示 - 调整EntityBase初始化顺序,确保状态条正确初始化 - 在GameRule中添加detainTime配置项控制动画延迟时间
This commit is contained in:
@@ -90,6 +90,8 @@ var cooldownTimer = CooldownTimer.new()
|
||||
var weapons: Array[Weapon] = []
|
||||
|
||||
func _ready():
|
||||
health = fields.get(FieldStore.Entity.MAX_HEALTH)
|
||||
energy = fields.get(FieldStore.Entity.MAX_ENERGY)
|
||||
register()
|
||||
var selfStatebar: EntityStateBar = $"%statebar"
|
||||
if isBoss:
|
||||
@@ -97,6 +99,7 @@ func _ready():
|
||||
else:
|
||||
statebar = selfStatebar
|
||||
statebar.entity = self
|
||||
statebar.forceSync()
|
||||
if isPlayer():
|
||||
for i in weaponStore.get_children():
|
||||
i.hide()
|
||||
@@ -118,8 +121,6 @@ func _ready():
|
||||
else:
|
||||
currentFocusedBoss = get_tree().get_nodes_in_group("players")[0]
|
||||
applyLevel()
|
||||
health = fields.get(FieldStore.Entity.MAX_HEALTH)
|
||||
energy = fields.get(FieldStore.Entity.MAX_ENERGY)
|
||||
healthChanged.connect(
|
||||
func(newHealth):
|
||||
if is_instance_valid(statebar):
|
||||
|
||||
Reference in New Issue
Block a user