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:
@@ -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():
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
uid://b63fkg0waovo
|
||||
@@ -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] = []
|
||||
|
||||
Reference in New Issue
Block a user