1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 23:11:54 +08:00
Files
fallingshrimp 5c8c3c32cd fix: 调整相机震动参数并优化组件管理器初始化
将BroomGun的相机震动持续时间从300调整为200,减少震动效果
移除WorldManager中手动调用ComponentManager.init()
在ComponentManager中添加静态初始化方法自动调用init()
2026-05-10 06:23:29 +08:00

48 lines
1.2 KiB
GDScript

extends Node2D
class_name WorldManager
static var rootNode: WorldManager
static var tree: SceneTree
static var runningTime: int = 0
static var peer: ENetMultiplayerPeer
static var spawner: MultiplayerSpawner
func _ready():
tree = get_tree()
rootNode = self
spawner = $%spawner
spawner.spawn_function = justReturn
func _physics_process(delta):
runningTime += delta * 1000
if canNextWave() and runningTime > 1000:
UIState.setPanel("MakeFeed")
@rpc("authority")
func doNextWave(waves: Array):
Wave.next(waves)
func canNextWave():
return len(EntityBase.getMobs()) == 0 and len(ItemDropped.getDropsCanCollet()) == 0
func spawnWave(center: Vector2):
var waves = Wave.spawn(center)
doNextWave(waves)
if MultiplayerState.isMultiplayer and multiplayer.is_server():
doNextWave.rpc(waves)
func spawn(node: Node):
if MultiplayerState.isMultiplayer:
if multiplayer.is_server():
spawner.spawn([node])
else:
add_child(node)
func justReturn(data):
return ArrayTool.parseEncodedObject(data)[0]
static func timeRestart():
runningTime = 0
static func getTime():
return runningTime
static func spawnNode(node: Node):
rootNode.spawn(node)
static func isRelease() -> bool:
return !OS.is_debug_build()