package Ġcom . github . qu ill r aven . commons . ash ley . component Ċ Ċ import Ġcom . badlogic . ash ley . core . Component Ċ import Ġcom . badlogic . ash ley . core . Engine Ċ import Ġcom . badlogic . ash ley . core . Entity Ċ import Ġcom . badlogic . gdx . graphics . Color Ċ import Ġcom . badlogic . gdx . utils . G dx RuntimeException Ċ import Ġcom . badlogic . gdx . utils . Pool Ċ import Ġk tx . ash ley . get Ċ import Ġk tx . ash ley . mapper For Ċ Ċ /** Ċ Ġ* ĠComponent Ġto Ġmodify Ġthe Ġcolor Ġof Ġan Ġ[ Entity ] Ġwhich Ġhas Ġa Ġ[ Render Component ]. Ċ Ġ* Ċ Ġ* ĠUse Ġ[ from Color ] Ġto Ġdefine Ġthe Ġstarting Ġcolor Ġof Ġthe Ġfade Ġeffect . ĠUsually , Ġthat Ġshould Ġbe Ġthe Ġsprite 's Ġcolor . Ċ Ġ* ĠUse Ġ[ to Color ] Ġto Ġdefine Ġthe Ġfinal Ġcolor Ġof Ġthe Ġfade Ġeffect . Ċ Ġ* ĠUse Ġ[ duration ] Ġto Ġdefine Ġhow Ġlong Ġthe Ġeffect Ġshould Ġneed Ġin Ġseconds . Ċ Ġ*/ Ċ class ĠF ade Component Ġ: ĠComponent , ĠPool . Pool able Ġ{ ĊĠ Ġval Ġfrom Color Ġ= ĠColor ( 1 f , Ġ 1 f , Ġ 1 f , Ġ 1 f ) ĊĠ Ġval Ġto Color Ġ= ĠColor ( 1 f , Ġ 1 f , Ġ 1 f , Ġ 1 f ) ĊĠ Ġvar Ġduration Ġ= Ġ 0 f ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġcurrent Duration Ġ= Ġ 0 f ĊĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĠ Ġinternal Ġvar Ġcurrent Duration Ġ= Ġ 0 f ĊĊĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠ Ġfrom Color . set ( 1 f , Ġ 1 f , Ġ 1 f , Ġ 1 f ) ĊĠĠĠ Ġto Color . set ( 1 f , Ġ 1 f , Ġ 1 f , Ġ 1 f ) ĊĠĠĠ Ġduration Ġ= Ġ 0 f ĊĠĠĠ Ġcurrent Duration Ġ= Ġ 0 f ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠMAP PER Ġ= Ġmapper For < Fade Component >() ĊĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Fade Component ] Ġor Ġthrows Ġa Ġ[ G dx RuntimeException ] Ġif Ġit Ġdoesn 't Ġexist . Ċ Ġ*/ Ċ val ĠEntity . fade Cmp : ĠF ade Component ĊĠ Ġget () Ġ= Ġthis [ Fade Component . MAP PER ] ĊĠĠĠ Ġ?: Ġthrow ĠG dx RuntimeException (" Fade Component Ġfor Ġentity Ġ'$ this ' Ġis Ġnull ") Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġ[ Fade Component ] Ġto Ġthe Ġentity Ġwith Ġthe Ġgiven Ġvalues . ĠIf Ġthe Ġentity Ġdoes Ġnot Ġhave Ġa Ċ Ġ* Ġ[ Render Component ] Ġthen Ġthis Ġfunction Ġis Ġdoing Ġnothing . Ċ Ġ*/ Ċ fun ĠEntity . fade To ( engine : ĠEngine , Ġr : ĠFloat , Ġg : ĠFloat , Ġb : ĠFloat , Ġa : ĠFloat , Ġduration : ĠFloat ) Ġ{ ĊĠ Ġval Ġentity Ġ= Ġthis ĊĠ Ġval Ġrender Cmp Ġ= Ġentity [ Render Component . MAP PER ] Ġ?: Ġreturn ĊĊĠ Ġwith ( entity [ Fade Component . MAP PER ] Ġ?: Ġentity . add And Return ( engine . create Component ( Fade Component :: class . java ))) Ġ{ ĊĠĠĠ Ġfrom Color . set ( render Cmp . sprite . color ) ĊĠĠĠ Ġto Color . set ( r , Ġg , Ġb , Ġa ) ĊĠĠĠ Ġthis . duration Ġ= Ġduration ĊĠ Ġ} Ċ } Ċ