package Ġnet . tor val d . ter rar um . module base game . ui Ċ Ċ import Ġcom . badlogic . gdx . graphics . Camera Ċ import Ġcom . badlogic . gdx . graphics . Color Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Sprite Batch Ċ import Ġnet . tor val d . sprite animation . As semb led Sprite Animation Ċ import Ġnet . tor val d . sprite animation . Sheet Sprite Animation Ċ import Ġnet . tor val d . ter rar um .* Ċ import Ġnet . tor val d . ter rar um . game items . Game Item Ċ import Ġnet . tor val d . ter rar um . module base game . ui . UI Inventory Full . Companion . item List Height Ċ import Ġnet . tor val d . ter rar um . module base game . ui . UI Item Inventory Item Grid . Companion . create Inv Cell Generic KeyDown Fun Ċ import Ġnet . tor val d . ter rar um . module base game . ui . UI Item Inventory Item Grid . Companion . create Inv Cell Generic Touch Down Fun Ċ import Ġnet . tor val d . ter rar um . sprite assembler . AD Properties . Companion . EXTRA _ HEAD ROOM _ X Ċ import Ġnet . tor val d . ter rar um . sprite assembler . AD Properties . Companion . EXTRA _ HEAD ROOM _ Y Ċ import Ġnet . tor val d . ter rar um . ui . Toolkit Ċ import Ġnet . tor val d . ter rar um . ui . UIC an vas Ċ import Ġnet . tor val d . ter rar um . ui . UI Item Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġmin ja es ong Ġon Ġ 2 0 1 7 - 1 0 - 2 8 . Ċ Ġ*/ Ċ class ĠUI Item Inventory Equ ipped View ( ĊĠĠĠĠĠĠĠ Ġparent UI : ĠU IC an vas , ĊĠĠĠĠĠĠĠ Ġinitial X : ĠInt , ĊĠĠĠĠĠĠĠ Ġinitial Y : ĠInt , ĊĠĠĠĠĠĠĠ Ġinventory List Rebuild Fun : Ġ() Ġ-> ĠUnit Ċ ) Ġ: ĠUI Item ( parent UI , Ġinitial X , Ġinitial Y ) Ġ{ ĊĊĊĠĠĠ Ġoverride Ġval Ġwidth Ġ Ġ= ĠWIDTH ĊĠĠĠ Ġoverride Ġval Ġheight Ġ= Ġitem List Height ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠWIDTH Ġ Ġ= Ġ 2 Ġ* ĠUI Item Inventory Elem Simple . height Ġ+ ĠUI Item Inventory Item Grid . list Gap ĊĠĠĠĠĠĠĠ Ġ// val ĠHEIGHT Ġ= ĠUI Item Inventory Dynamic List . HEIGHT ĊĠĠĠĠĠĠĠ Ġval ĠSPR ITE _ DRAW _ COL Ġ= ĠColor ( 0 xf 2 f 2 f 2 ff . toInt ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlist Gap Ġ= Ġ 8 ĊĊĠĠĠ Ġvar Ġitem Page Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġitem Page Count Ġ= Ġ 1 Ġ// ĠTODO Ġtotal Ġsize Ġof Ġcurrent Ġcategory Ġ/ Ġitem Grid . size ĊĊĠĠĠ Ġlateinit Ġvar Ġinventory Sort List : ĠArray < Game Item ?> ĊĠĠĠ Ġprivate Ġvar Ġrebuild List Ġ= Ġtrue ĊĊĠĠĠ Ġprivate Ġval Ġequip Pos Icon Ġ= ĠCommon Resource Pool . getAs Texture Region Pack (" inventory _ category ") ĊĠĠĠ Ġprivate Ġval Ġcell To Icon Ġ= Ġint ArrayOf ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 6 , 7 , 6 , 7 ) ĊĠĠĠ Ġprivate Ġval Ġequip Pos Icon Col Ġ= ĠColor ( 0 xdd dddd 7 f . toInt ()) ĊĊĠĠĠ Ġprivate Ġval Ġitem Grid Ġ= ĠArray < UI Item Inventory Cell Base >( 2 Ġ* Ġ 6 ) Ġ{ ĊĠĠĠĠĠĠĠ ĠUI Item Inventory Elem Simple ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent UI Ġ= Ġparent UI , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitial X Ġ= Ġthis . pos X Ġ+ Ġ( UI Item Inventory Elem Simple . height Ġ+ Ġlist Gap ) Ġ* Ġ(( it Ġ+ Ġ 4 ) Ġ% Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Y Ġ= Ġthis . pos Y Ġ+ Ġ( UI Item Inventory Elem Simple . height Ġ+ Ġlist Gap ) Ġ* Ġ(( it Ġ+ Ġ 4 ) Ġ/ Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= ĠUI Item Inventory Elem Wide . UNIQUE _ ITEM _ HAS _ NO _ AMOUNT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Image Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Back On Null Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Down Fun Ġ= Ġcreate Inv Cell Generic KeyDown Fun (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtouch Down Fun Ġ= Ġcreate Inv Cell Generic Touch Down Fun ( inventory List Rebuild Fun ) Ġ// Ġto Ġ" un select " Ġthe Ġequ ipped Ġitem Ġand Ġmain Ġitem Ġgrid Ġwould Ġ" unt ick " Ġaccordingly ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( delta : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġit . update ( delta ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( batch : ĠSprite Batch , Ġcamera : ĠCamera ) Ġ{ ĊĠĠĠĠĠĠĠ Ġblend Normal ( batch ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpos X Delta Ġ= Ġpos X Ġ- Ġold Pos X ĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġit . pos X Ġ+= Ġpos X Delta Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġsprite Ġcell Ġbackground ĊĠĠĠĠĠĠĠ Ġbatch . color Ġ= ĠToolkit . Theme . COL _ CELL _ FILL ĊĠĠĠĠĠĠĠ ĠToolkit . fill Area ( batch , Ġpos X , Ġpos Y , Ġwidth , Ġwidth ) ĊĠĠĠĠĠĠĠ Ġ// Ġsprite Ġcell Ġborder ĊĠĠĠĠĠĠĠ Ġbatch . color Ġ= ĠToolkit . Theme . COL _ IN VENT ORY _ CELL _ BORDER ĊĠĠĠĠĠĠĠ ĠToolkit . draw Box Border ( batch , Ġpos X , Ġpos Y , Ġwidth , Ġwidth ) ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġsprite ĊĠĠĠĠĠĠĠ ĠIN GAME . actor Now Playing ?. let Ġ{ Ġactor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactor . sprite ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblend Normal ( batch ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . color Ġ= ĠSPR ITE _ DRAW _ COL ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠSheet Sprite Animation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . draw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . texture Region . get ( 0 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos X Ġ+ Ġ( width Ġ- Ġit . cell Width Ġ+ ĠEX TRA _ HEAD ROOM _ X ). div ( 2 ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos Y Ġ+ Ġ( width Ġ- Ġit . cell Height Ġ- ĠEX TRA _ HEAD ROOM _ Y ). div ( 2 ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( it Ġis ĠAs semb led Sprite Animation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . render This Animation ( batch , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos X Ġ+ Ġ(( width Ġ- Ġactor . base Hit box W ) Ġ/ Ġ 2 ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos Y Ġ+ Ġ(( width Ġ- Ġactor . base Hit box H ) Ġ/ Ġ 2 ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 f , Ġ" ANIM _ IDLE _ 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġslot Ġimage Ġon Ġeach Ġcells ĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Indexed Ġ{ Ġindex , Ġcell Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcell . render ( batch , Ġcamera ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cell . item Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . color Ġ= Ġequip Pos Icon Col ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . draw ( equip Pos Icon . get ( cell To Icon [ index ], Ġ 1 ), Ġ 1 5 f Ġ+ Ġcell . pos X , Ġ 1 5 f Ġ+ Ġcell . pos Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġold Pos X Ġ= Ġpos X ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġrebuild () Ġ{ ĊĠĠĠĠĠĠĠ Ġrebuild List Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ ĠIN GAME . actor Now Playing ?. inventory ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsort Ġby Ġequip Ġposition ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfill Ġthe Ġgrid Ġfrom Ġfast est Ġindex , Ġmake Ġno Ġgap Ġin - between Ġof Ġslots ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( k Ġin Ġitem Grid . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġit . item Equ ipped [ k ] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. item Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. amount Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. item Image Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. qu icks lot Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. equ ipped Slot Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Record Ġ= Ġit . search ByID ( item ) !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. item Ġ= ĠItem Code x [ item ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. amount Ġ= Ġitem Record . qty ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. item Image Ġ= ĠItem Code x . getItem Image ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. qu icks lot Ġ= Ġnull Ġ// Ġdon 't Ġneed Ġto Ġbe Ġdisplayed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Grid [ k ]. equ ipped Slot Ġ= Ġnull Ġ// Ġdon 't Ġneed Ġto Ġbe Ġdisplayed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġit . dispose () Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġequip Pos Icon . dispose () Ġ// Ġdisposed Ġof Ġby Ġthe ĠApp Loader ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Down ( screen X : ĠInt , Ġscreen Y : ĠInt , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . touch Down ( screen X , Ġscreen Y , Ġpointer , Ġbutton ) ĊĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġif Ġ( it . mouse Up ) Ġit . touch Down ( screen X , Ġscreen Y , Ġpointer , Ġbutton ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtouch Up ( screen X : ĠInt , Ġscreen Y : ĠInt , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġif Ġ( it . mouse Up ) Ġit . touch Up ( screen X , Ġscreen Y , Ġpointer , Ġbutton ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey Down ( key code : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . key Down ( key code ) ĊĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġif Ġ( it . mouse Up ) Ġit . key Down ( key code ) Ġ} ĊĠĠĠĠĠĠĠ Ġrebuild () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey Up ( key code : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . key Up ( key code ) ĊĊĠĠĠĠĠĠĠ Ġitem Grid . forEach Ġ{ Ġif Ġ( it . mouse Up ) Ġit . key Up ( key code ) Ġ} ĊĠĠĠĠĠĠĠ Ġrebuild () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }