Files

42 lines
1.2 KiB
GDScript
Raw Permalink Normal View History

2026-09-12 11:01:37 +02:00
extends SceneTree
class State extends Node:
var active := false
var paused := false
var connecting := false
var match_over := false
var winner := "DRAW"
func _initialize() -> void:
call_deferred("run")
func run() -> void:
var game := State.new()
root.add_child(game)
var music := MusicDirector.new()
music.game = game
game.add_child(music)
await process_frame
await process_frame
assert(music.layers.size() == 4)
for player in music.layers:
assert(player.playing)
assert(player.stream.loop_mode == AudioStreamWAV.LOOP_FORWARD)
assert(music.state == "menu")
game.connecting = true
await create_timer(0.1).timeout
assert(music.state == "lobby")
game.active = true
await create_timer(0.1).timeout
assert(music.state == "combat" and music.cue.playing)
game.paused = true
await create_timer(0.1).timeout
assert(music.state == "pause")
game.match_over = true
await create_timer(0.1).timeout
assert(music.state == "results")
MusicDirector.volume = 0
await create_timer(0.1).timeout
assert(AudioServer.is_bus_mute(AudioServer.get_bus_index("Music")))
game.queue_free()
await process_frame
print("MUSIC MENU / LOBBY / COMBAT / PAUSE / RESULTS / MUTE PASS")
quit()