(import flixel.FlxState) (import kiss_flixel.SimpleWindow) (extends FlxState) (method &override :Void create [] (super.create) (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" null null null null "escape" "left" "right" "up" "down" "enter")] (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))