class CQDirector : PlayDirector { @Attribute var blasts = 99 fun useBlast() : boolean { return if ( blasts > 0 ) { blasts -- true } else { false } } fun addBlasts( delta : int ) { blasts += delta } override fun glassScene() = "cq/glass" } class CQTestDirector : CQDirector { @Attribute var nextScene = "tests/ok" @Attribute var extraValuables = 0 override fun begin() { super.begin() tester = Tester( this, nextScene, extraValuables ) } }