package Ġcom . query . cache . definitions . impl Ċ Ċ import Ġcom . dis ple e . cache . index . archive . Archive Ċ import Ġcom . query . Application Ċ import Ġcom . query . Constants Ċ import Ġcom . query . cache . Loader Ċ import Ġcom . query . cache . Serializable Ċ import Ġcom . query . cache . definitions . Definition Ċ import Ġcom . query . dump . Definitions Types Ċ import Ġcom . query . utils . Index Type Ċ import Ġcom . query . utils . index Ċ import Ġjava . nio . ByteBuffer Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . Count DownLatch Ċ import Ġcom . query . utils .* Ċ Ċ data Ġclass ĠTexture Definition ( ĊĠĠĠ Ġoverride Ġvar Ġid : ĠInt , ĊĠĠĠ Ġvar Ġfield 1 7 7 8 Ġ: ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġvar Ġfile Ids : ĠInt Array Ġ= ĠInt Array ( 0 ), ĊĠĠĠ Ġvar Ġfield 1 7 8 0 : ĠInt Array Ġ= ĠInt Array ( 0 ), ĊĠĠĠ Ġvar Ġfield 1 7 8 1 : ĠInt Array Ġ= ĠInt Array ( 0 ), ĊĠĠĠ Ġvar Ġfield 1 7 8 6 : ĠInt Array Ġ= ĠInt Array ( 0 ), ĊĠĠĠ Ġvar Ġanimation Speed Ġ: ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġanimation Direction Ġ: ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġsprite : ĠInt Ġ= Ġ- 1 , ĊĠĠĠ Ġvar Ġfield 1 7 7 7 : ĠInt Ġ= Ġ- 1 Ċ ) Ġ: ĠDefinition Ċ Ċ class ĠTexture Provider ( val Ġl atch : ĠCount DownLatch ?, Ġval Ġwrite Types Ġ: ĠBoolean Ġ= Ġtrue ) Ġ: ĠLoader , ĠRunnable Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġrevision Min Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart : ĠLong Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ ĠApplication . store ( Texture Definition :: class . java , Ġload (). definition ) ĊĠĠĠĠĠĠĠ ĠApplication . prompt ( this :: class . java , Ġstart ) ĊĠĠĠĠĠĠĠ Ġl atch ?. count Down () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload (): ĠSerializable Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarchive : ĠArchive Ġ= ĠConstants . library . index ( Index Type . TEXTURE S ). first () !! ĊĊĠĠĠĠĠĠĠ Ġval Ġdefinitions Ġ= Ġarchive . file Ids (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdecode ( ByteBuffer . wrap ( archive . file ( it )?. data ), ĠTexture Definition ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠSerializable ( Definitions Types . TEXTURE S , this , Ġdefinitions , write Types ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdecode ( buffer : ĠByteBuffer , Ġdefinition : ĠTexture Definition ): ĠDefinition Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdefinition . field 1 7 7 7 Ġ= Ġbuffer . u Short ĊĠĠĠĠĠĠĠ Ġdefinition . field 1 7 7 8 Ġ= Ġbuffer . byte . toInt () Ġ!= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġval Ġcount : ĠInt Ġ= Ġbuffer . byte . toInt () ĊĠĠĠĠĠĠĠ Ġval Ġfiles Ġ= ĠInt Array ( count ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcount ) Ġfiles [ i ] Ġ= Ġbuffer . u Short ĊĊĠĠĠĠĠĠĠ Ġdefinition . file Ids Ġ= Ġfiles ĊĊĠĠĠĠĠĠĠ Ġif Ġ( count Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . field 1 7 8 0 Ġ= ĠInt Array ( count Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( var 3 Ġin Ġ 0 Ġuntil Ġcount Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . field 1 7 8 0 [ var 3 ] Ġ= Ġbuffer . byte . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( count Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . field 1 7 8 1 Ġ= ĠInt Array ( count Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( var 3 Ġin Ġ 0 Ġuntil Ġcount Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . field 1 7 8 1 [ var 3 ] Ġ= Ġbuffer . byte . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdefinition . field 1 7 8 6 Ġ= ĠInt Array ( count ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( var 3 Ġin Ġ 0 Ġuntil Ġcount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . field 1 7 8 6 [ var 3 ] Ġ= Ġbuffer . int ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdefinition . animation Direction Ġ= Ġbuffer . byte . toInt () ĊĠĠĠĠĠĠĠ Ġdefinition . animation Speed Ġ= Ġbuffer . byte . toInt () ĊĠĠĠĠĠĠĠ Ġdefinition . sprite Ġ= Ġdefinition . file Ids [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdefinition ĊĠĠĠ Ġ} Ċ Ċ }