Randoloot/tmp/captain_ring_review.gd
2026-10-19 22:33:24 +02:00

38 lines
1.7 KiB
GDScript

extends Node
func _ready() -> void:
GameState.start_new_run()
GameState.captain.credits = 12540
GameState.captain.experience = 75
var game := preload("res://scenes/game/game.tscn").instantiate()
add_child(game)
game.set_physics_process(false)
game.player.set_physics_process(false)
for enemy in get_tree().get_nodes_in_group("enemies"): enemy.set_physics_process(false)
for frame in 15: await get_tree().process_frame
var panel = game.get_node("HUD")._captain_panel
assert(panel.size.y <= 95)
assert(panel.xp_bar.value == 75)
assert(panel.credits_label.text == "Kredyty: 12540")
assert(panel.size.x > 317)
var equipped := [false]
panel.equipment_requested.connect(func(): equipped[0] = true)
var click := InputEventMouseButton.new()
click.button_index = MOUSE_BUTTON_LEFT
click.pressed = true
panel._gui_input(click)
assert(equipped[0])
await RenderingServer.frame_post_draw
get_viewport().get_texture().get_image().get_region(Rect2i(panel.get_global_rect().grow(4))).save_png("res://artifacts/captain_ring_panel.png")
get_viewport().get_texture().get_image().save_png("res://artifacts/captain_ring_hud.png")
var cockpit = game.get_node("HUD")._cockpit
get_viewport().get_texture().get_image().get_region(Rect2i(cockpit.get_global_rect().grow(4))).save_png("res://artifacts/cockpit_frame_review.png")
GameState.captain.learning_points = 1
GameState.captain.emit_changed()
for frame in 5: await get_tree().process_frame
assert(panel._level_up_button.visible)
assert(panel.size.y <= 95)
panel._level_up_button.pressed.emit()
assert(game.get_node("HUD/CaptainSkills")._screen.visible)
print("CAPTAIN_RING_REVIEW_OK: compact panel, live XP and credits, equipment click, level-up access")
get_tree().quit()