feat: add juggling gym and animate circus sign
This commit is contained in:
@@ -3,6 +3,7 @@ extends CanvasLayer
|
||||
## Coordina navigazione e transizioni tra P1, P2a e P3a.
|
||||
|
||||
signal mode_requested
|
||||
signal gym_requested
|
||||
signal exit_requested
|
||||
|
||||
const HOME_SCENE := preload("res://menus/scenes/p1_home.tscn")
|
||||
@@ -15,12 +16,14 @@ var menu_audio: MenuAudio
|
||||
var current_screen: Control
|
||||
var _transitioning := false
|
||||
var _capture_enabled := false
|
||||
var _capture_settled := false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
process_mode = Node.PROCESS_MODE_ALWAYS
|
||||
layer = 20
|
||||
_capture_enabled = OS.get_cmdline_user_args().has("--capture-menus")
|
||||
_capture_settled = OS.get_cmdline_user_args().has("--capture-settled")
|
||||
_build_shell()
|
||||
visible = false
|
||||
|
||||
@@ -105,6 +108,8 @@ func _bind_screen(screen: Control) -> void:
|
||||
if screen is P1HomeScreen:
|
||||
screen.juggle_requested.connect(func(focal: Control): _navigate(JUGGLE_SCENE, "p2a", focal))
|
||||
screen.gym_requested.connect(func(focal: Control): _navigate(GYM_SCENE, "p3a", focal))
|
||||
screen.sign_drop_started.connect(menu_audio.play_sign_drop)
|
||||
screen.sign_bounced.connect(menu_audio.play_sign_bounce)
|
||||
screen.exit_requested.connect(func():
|
||||
menu_audio.play_tone(220.0)
|
||||
exit_requested.emit()
|
||||
@@ -115,6 +120,7 @@ func _bind_screen(screen: Control) -> void:
|
||||
screen.feedback_requested.connect(menu_audio.play_tone)
|
||||
elif screen is P3AGymMenuScreen:
|
||||
screen.back_requested.connect(func(): _navigate(HOME_SCENE, "p1"))
|
||||
screen.game_requested.connect(func(): gym_requested.emit())
|
||||
screen.feedback_requested.connect(menu_audio.play_tone)
|
||||
|
||||
|
||||
@@ -122,5 +128,7 @@ func _capture_after_frame(label: String) -> void:
|
||||
if not _capture_enabled:
|
||||
return
|
||||
await RenderingServer.frame_post_draw
|
||||
if _capture_settled:
|
||||
await get_tree().create_timer(1.5, true, false, true).timeout
|
||||
var image := get_viewport().get_texture().get_image()
|
||||
image.save_png("/tmp/autgame_menu_%s.png" % label)
|
||||
|
||||
Reference in New Issue
Block a user