package Ġfr . o 8 0 . so ul game . scenes . level selector Ċ Ċ import Ġfr . o 8 0 . game lib . Scene Ċ import Ġfr . o 8 0 . game lib . loop . Key Pipeline Ċ import Ġfr . o 8 0 . game lib . loop . MouseButton Pipeline Ċ import Ġfr . o 8 0 . game lib . loop . MouseMove Pipeline Ċ import Ġfr . o 8 0 . game lib . loop . Window Ċ import Ġfr . o 8 0 . game lib . menu . Grid Ċ import Ġfr . o 8 0 . game lib . menu . Text Resources Ċ import Ġfr . o 8 0 . game lib . service . Services Ċ import Ġfr . o 8 0 . so ul game . MENU _ TEXT _ FONT Ċ import Ġfr . o 8 0 . so ul game . MENU _ TEXT _ SIZE Ċ import Ġfr . o 8 0 . so ul game . MENU _ TITLE _ FONT Ċ import Ġfr . o 8 0 . so ul game . MENU _ TITLE _ SIZE Ċ import Ġfr . o 8 0 . so ul game . S oul Scene Manager Ċ import Ġfr . o 8 0 . so ul game . resource Path Ċ import Ġfr . o 8 0 . so ul game . scenes . green Background Ċ Ċ class ĠLevel Selector Scene ( ĊĠĠĠ Ġprivate Ġval Ġscene Manager : ĠS oul Scene Manager Ċ ) Ġ: ĠScene Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgrid : ĠGrid ĊĊĠĠĠ Ġprivate Ġval Ġsystem Ġ= ĠLevel Selector System () ĊĊĠĠĠ Ġoverride Ġfun Ġopen ( ĊĠĠĠĠĠĠĠ Ġwindow : ĠWindow , ĊĠĠĠĠĠĠĠ Ġservices : ĠServices , ĊĠĠĠĠĠĠĠ Ġkey Pipeline : ĠKey Pipeline , ĊĠĠĠĠĠĠĠ Ġmouse Button Pipeline : ĠMouse Button Pipeline , ĊĠĠĠĠĠĠĠ Ġmouse Move Pipeline : ĠMouse Move Pipeline ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgrid Ġ= ĠGrid . Grid Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġ. 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġ. 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġwindow . width . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġwindow . height . toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Dim ens ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcols Ġ= Ġ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Spacing Ġ= Ġ 4 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Spacing Ġ= Ġ 4 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with P ipelines ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmouse Button Pipeline , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmouse Move Pipeline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Resources ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= Ġgreen Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Resources Ġ= ĠText Resources ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= Ġresource Path ( MENU _ TEXT _ FONT ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Height Ġ= ĠMENU _ TEXT _ SIZE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Resources Ġ= ĠText Resources ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= Ġresource Path ( MENU _ TITLE _ FONT ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Height Ġ= ĠMENU _ TITLE _ SIZE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. and Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem . forEach Level Ġ{ Ġlevel Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ( level . code . toString (), Ġenabled Ġ= Ġlevel . selectable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscene Manager . open Level ( level . code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button ( services . messages [" level _ selector . back "]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscene Manager . open Main () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġgrid . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupdate () Ġ{ ĊĠĠĠĠĠĠĠ Ġgrid . update () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġrender () Ġ{ ĊĠĠĠĠĠĠĠ Ġgrid . render () ĊĠĠĠ Ġ} Ċ } Ċ