class Play : AbstractDirector { val neighbourhood = StandardNeighbourhood(36,36) var blasts = 99 var fuelRequired = 1 var player : Player var mainStage : Stage var mainView : StageView var restart : Input var exit : Input static var instance : Play init { instance = this } override fun begin() { super.begin() mainStage = Game.instance.scene.findStage("main") mainView = Game.instance.scene.findStageView("main") as StageView player = mainStage.findRoleByClass( Player ) restart = Resources.instance.inputs.find( "restart" ) exit = Resources.instance.inputs.find( "exit" ) } override fun activated() { super.activated() mainView.worldFocal.x += 18.0 mainView.worldFocal.y += 18.0 while( player.adjustView() ) {} } override fun ended() { super.ended() neighbourhood.clear() } fun fuelCollected() { fuelRequired -- } fun canLaunch() = fuelRequired <= 0 override fun onKey( event : KeyEvent ) { if (restart.matches(event)) { Game.instance.startScene( Game.instance.sceneName ) } else if (exit.matches(event)) { Game.instance.quit() } } }