package Ġcom . me chan ica . engine . game . configuration Ċ Ċ import Ġcom . c ave . library . matrix . mat 4 . Matrix 4 Ċ import Ġcom . me chan ica . engine . debug . Game Debug Configuration Ċ import Ġcom . me chan ica . engine . display . Draw Surface Ċ import Ġcom . me chan ica . engine . game . Game Ċ import Ġcom . me chan ica . engine . game . delta . Delta Calculator Ċ import Ġcom . me chan ica . engine . game . view . View Ċ import Ġcom . me chan ica . engine . persistence . Json St orer Ċ import Ġcom . me chan ica . engine . persistence . Persistence Map Ċ import Ġcom . me chan ica . engine . scenes . scenes . Scene Ċ Ċ internal Ġclass ĠGame Configuration Impl ( private Ġval Ġconfigure : ĠGame Configuration . () Ġ-> ĠUnit ) Ġ: ĠGame Configuration Ġ{ ĊĠĠĠ Ġval Ġdata Ġ= ĠConfiguration Data () ĊĊĠĠĠ Ġoverride Ġvar Ġinit al ize : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġset Resolution ( width : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . resolution Width Ġ= Ġwidth ĊĠĠĠĠĠĠĠ Ġdata . resolution Height Ġ= Ġheight ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Fullscreen ( is Fullscreen : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . fullscreen Ġ= Ġis Fullscreen ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Viewport ( width : ĠDouble , Ġheight : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( width Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . view Width Ġ= Ġwidth ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( height Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . view Height Ġ= Ġheight ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset View Location ( x : ĠDouble , Ġy : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . view X Ġ= Ġx ĊĠĠĠĠĠĠĠ Ġdata . view Y Ġ= Ġy ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Persistence ( json St orer : ĠJson St orer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠPersistence Map ( json St orer ) ĊĠĠĠĠĠĠĠ Ġmap . populate () ĊĠĠĠĠĠĠĠ ĠGame . persistence Map Ġ= Ġmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Starting Scene ( scene : Ġ() Ġ-> ĠScene ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . starting Scene Ġ= Ġscene ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure Draw Surface ( configuration : ĠDraw Surface . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . surface Configuration Ġ= Ġconfiguration ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure Debug Mode ( configuration : ĠGame Debug Configuration . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . debug Configuration Ġ= Ġconfiguration ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Mult is ampling ( samples : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . multis ampling Samples Ġ= Ġsamples ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure Projection Matrix ( configuration : ĠMatrix 4 .( View ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . projection Matrix Configuration Ġ= Ġconfiguration ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Delta Time Calculator ( calculator : ĠDelta Calculator ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . delta Calculator Ġ= Ġcalculator ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconfigure () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . configure . invoke ( this ) ĊĠĠĠ Ġ} Ċ }