23 lines
1.0 KiB
GDScript
23 lines
1.0 KiB
GDScript
extends SceneTree
|
|
|
|
func _initialize() -> void:
|
|
var cabinet := CabinetProfile.new()
|
|
var tempest: GameDefinition = load("res://data/games/tempest.tres")
|
|
cabinet.capabilities.assign([&"spinner", &"button_1", &"start_button"])
|
|
assert(not tempest.can_run_on(cabinet), "Superzapper requires a second button")
|
|
cabinet.capabilities.append(&"button_2")
|
|
assert(tempest.can_run_on(cabinet))
|
|
cabinet.capabilities.erase(&"spinner")
|
|
assert(not tempest.can_run_on(cabinet))
|
|
cabinet.capabilities.append(&"trackball")
|
|
assert(tempest.can_run_on(cabinet))
|
|
var robotron: GameDefinition = load("res://data/games/robotron.tres")
|
|
cabinet.capabilities.assign([&"dual_joystick_8way", &"start_button"])
|
|
assert(robotron.can_run_on(cabinet))
|
|
cabinet.capabilities.assign([&"joystick_8way", &"button_1", &"button_2", &"button_3", &"button_4", &"start_button"])
|
|
assert(robotron.can_run_on(cabinet))
|
|
cabinet.capabilities.erase(&"button_4")
|
|
assert(not robotron.can_run_on(cabinet))
|
|
print("PASS: cabinet control alternatives and common requirements")
|
|
quit()
|