package Ġorg . hex works . z ir con . api . modifier Ċ Ċ import Ġorg . hex works . z ir con . api . data . Character Tile Ċ import Ġorg . hex works . z ir con . api . data . Tile Ċ import Ġorg . hex works . z ir con . api . modifier . impl . Fade Ċ import Ġorg . hex works . z ir con . platform . util . System Utils Ċ Ċ data Ġclass ĠF ade Out ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsteps : ĠInt Ġ= Ġ 2 0 , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtime Ms : ĠLong Ġ= Ġ 2 0 0 0 Ċ ) Ġ: ĠTile Transform Modifier < Character Tile >, ĠF ade Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġcache Key : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" Modifier . Fade Out .$ current Step " ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Step Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġvar Ġdelay : ĠLong Ġ= Ġtime Ms Ġ/ Ġsteps ĊĠĠĠ Ġprivate Ġvar Ġlast Render : ĠLong Ġ= ĠLong . MIN _ VALUE ĊĊĠĠĠ Ġoverride Ġfun Ġis F ading Finished (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcurrent Step Ġ== Ġsteps ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġcan Transform ( tile : ĠTile ) Ġ= Ġtile Ġis ĠCharacter Tile ĊĊĠĠĠ Ġoverride Ġfun Ġtransform ( tile : ĠCharacter Tile ): ĠCharacter Tile Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is First Render ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Render Ġ= ĠSystem Utils . getCurrent Time Ms () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Tile ( tile ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( current Step Ġ== Ġsteps ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTile . empty () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠSystem Utils . getCurrent Time Ms () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( now Ġ- Ġlast Render Ġ> Ġdelay ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Render Ġ= Ġnow ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Step ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Tile ( tile ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Tile ( tile : ĠCharacter Tile ): ĠCharacter Tile Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtile . with BackgroundColor ( tile . backgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dar ken By Percent ( 1 . 0 . minus (( steps Ġ- Ġcurrent Step . toDouble ()). div ( steps )))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ForegroundColor ( tile . foreground Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dar ken By Percent ( 1 . 0 . minus (( steps Ġ- Ġcurrent Step . toDouble ()). div ( steps )))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis First Render () Ġ= Ġlast Render Ġ== ĠLong . MIN _ VALUE Ċ Ċ } Ċ