Randoloot/tests/ships/flight_profile_test.gd
2026-10-15 18:32:38 +02:00

41 lines
2.0 KiB
GDScript

extends Node
func _ready() -> void:
GameState.start_new_run()
GameState.captain.skills = {"piloting": 4, "gunner": 3}
GameState.captain.learning_points = 2
var game := preload("res://scenes/game/game.tscn").instantiate()
add_child(game)
await get_tree().process_frame
await get_tree().process_frame
assert(GameState.captain.learning_points == 9)
assert(GameState.captain.skills.is_empty())
GameState.captain.normalize_skill_ranks()
assert(GameState.captain.learning_points == 9)
assert(GameState.captain.get_skill_bonus("piloting") == 0.0)
assert(not GameState.captain.train_skill("gunner"))
var root := game.get_node("HUD/HUDRoot")
assert(not root.has_node("EnemyDrawer"))
assert(root.get_node("CaptainPanel/Contents/Skills").get_child_count() == 0)
var drawer := root.get_node("ShipDrawer") as Control
assert(not drawer.visible)
root.get_node("ShipToggle").emit_signal("pressed")
assert(drawer.visible)
assert(drawer.has_node("Scroll/Contents/ShipEquipmentPanel/Contents/EquipmentLayout/Weapon1"))
assert(not drawer.has_node("Scroll/Contents/ShipEquipmentPanel/Contents/CraftingPanel"))
var navigation := root.get_node("TopNavigation")
navigation.get_child(0).emit_signal("pressed")
assert(root.get_node("CraftingWindow").visible)
assert(root.get_node("CraftingWindow/Contents/CraftingPanel/Contents/CraftingDetails").visible)
navigation.get_child(1).emit_signal("pressed")
assert(not root.get_node("CraftingWindow").visible)
assert(root.get_node("CaptainSkillsWindow").visible)
assert(root.get_node("CaptainSkillsWindow/Contents/SkillsContent").get_child_count() == 0)
root.get_node("CaptainSkillsWindow/Contents").get_child(0).get_child(1).emit_signal("pressed")
assert(not root.get_node("CaptainSkillsWindow").visible)
assert(root.has_node("Cockpit/EnemyDetailsPanel/EnemyDetails"))
print("FLIGHT_PROFILE_TEST: PASS navigation, ship slots, crafting, empty skills, enemy details and legacy point refund")
# Keep the result available briefly for the runtime debugger.
await get_tree().create_timer(15.0).timeout
get_tree().quit()