(import flixel.FlxState) (import kiss_flixel.SimpleWindow) (extends FlxState) (method &override :Void create [] (super.create) (SimpleWindow.sensibleDefaultKeys) (showMenu)) (method showMenu [] (SimpleWindow.promptForChoice "Testing SimpleWindow" ["Vertical" "Menu" "Quit"] ->:Void choice (case choice ("Vertical" null) ("Menu" (subMenu)) ("Quit" (Sys.exit 0)) (never otherwise)))) (method subMenu [] (let [window (new SimpleWindow "SubMenu")] (doFor letter ["A" "B" "C"] (window.makeText letter null ->_ (print "$letter clicked") ->_ (print "$letter selected") ->_ (print "$letter deselected"))) (window.makeText "{tab} Back" null ->:Void _ { (window.hide) (showMenu) }) (window.enableGamepadInput true null [=>B "tab"]) (window.show))) (method &override :Void update [:Float elapsed] (super.update elapsed))