41 lines
2.0 KiB
GDScript
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()
|