1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-12 14:47:13 +08:00

feat: 添加游戏控制和管理功能

- 新增GameControl节点用于统一处理游戏重启和退出
- 添加GameBusManager管理游戏重启时的资源清理
- 修改Pause和GameOver面板使用新的GameControl
- 为EffectController和ItemDropped添加分组管理
- 统一使用WorldManager管理游戏时间
This commit is contained in:
2026-05-05 06:51:48 +08:00
parent f6e71507ce
commit 30527a18a8
16 changed files with 89 additions and 53 deletions
+2 -2
View File
@@ -8,10 +8,10 @@ var distance: float = 200
var bullets: Array[BulletBase] = []
func start():
startTime = Time.get_ticks_msec()
startTime = WorldManager.getTime()
running = true
func lifetime():
return Time.get_ticks_msec() - startTime
return WorldManager.getTime() - startTime
func getStateAngle(index: int):
return lifetime() / period * deg_to_rad(360) - deg_to_rad(360.0 * index / len(bullets))
func forceFilter():
+1
View File
@@ -59,4 +59,5 @@ static func create(scene: PackedScene, spawnPosition: Vector2, parent: Node = nu
parent.add_child(cloned)
else:
WorldManager.rootNode.add_child(cloned)
cloned.add_to_group("effects")
return cloned
+25
View File
@@ -0,0 +1,25 @@
extends Control
class_name GameControl
@onready var returnBtn: Button = $%returnBtn
@onready var exitBtn: Button = $%exitBtn
func _ready():
returnBtn.pressed.connect(
func():
disable()
GameBusManager.restart(get_tree())
)
exitBtn.pressed.connect(
func():
disable()
get_tree().quit()
)
enable()
func enable():
returnBtn.disabled = false
exitBtn.disabled = false
func disable():
returnBtn.disabled = true
exitBtn.disabled = true
+1
View File
@@ -0,0 +1 @@
uid://b63fkg0waovo
+1
View File
@@ -64,6 +64,7 @@ static func generate(
WorldManager.rootNode.call_deferred("add_child", instance)
instance.add_to_group("drops")
instance.refindPlayer(WorldManager.tree)
instance.add_to_group("items")
return instance
static func getDrops() -> Array[ItemDropped]:
var result: Array[ItemDropped] = []