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 . utils . G dx RuntimeException Ċ import Ġcom . badlogic . gdx . utils . Pool Ċ import Ġcom . github . qu ill r aven . commons . ash ley . system . Remove System Ċ import Ġk tx . ash ley . get Ċ import Ġk tx . ash ley . mapper For Ċ Ċ /** Ċ Ġ* ĠComponent Ġto Ġmark Ġan Ġ[ Entity ] Ġfor Ġremoval . ĠIt Ġis Ġused Ġby Ġthe Ġ[ Remove System ] Ġto Ċ Ġ* Ġremove Ġentities Ġfrom Ġthe Ġ[ Engine ] Ġat Ġthe Ġbeginning / end Ġof Ġa Ġframe . Ċ Ġ* Ċ Ġ* ĠUse Ġ[ delay ] Ġto Ġremove Ġan Ġentity Ġafter Ġa Ġspecific Ġamount Ġof Ġseconds . Ċ Ġ*/ Ċ class ĠRemove Component Ġ: ĠComponent , ĠPool . Pool able Ġ{ ĊĠ Ġvar Ġdelay Ġ= Ġ 0 f ĊĊĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠ Ġdelay Ġ= Ġ 0 f ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠMAP PER Ġ= Ġmapper For < Remove Component >() ĊĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Fade Component ] Ġor Ġthrows Ġa Ġ[ G dx RuntimeException ] Ġif Ġit Ġdoesn 't Ġexist . Ċ Ġ*/ Ċ val ĠEntity . remove Cmp : ĠRemove Component ĊĠ Ġget () Ġ= Ġthis [ Remove Component . MAP PER ] ĊĠĠĠ Ġ?: Ġthrow ĠG dx RuntimeException (" Remove Component Ġfor Ġentity Ġ'$ this ' Ġis Ġnull ") Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġ[ Remove Component ] Ġto Ġthe Ġ[ Entity ] Ġby Ġusing Ġthe Ġ[ engine 's ][ Engine ] Ċ Ġ* Ġ[ create Component ][ Engine . create Component ] Ġmethod . Ċ Ġ* ĠThe Ġentity Ġthen Ġgets Ġremoved Ġby Ġthe Ġ[ Remove System ]. Ċ Ġ* Ċ Ġ* ĠUse Ġ[ delay ] Ġto Ġremove Ġthe Ġentity Ġafter Ġa Ġspecific Ġamount Ġof Ġseconds . Ċ Ġ*/ Ċ fun ĠEntity . remove From Engine ( engine : ĠEngine , Ġdelay : ĠFloat Ġ= Ġ 0 f ) Ġ{ ĊĠ Ġthis . add ( engine . create Component ( Remove Component :: class . java ). apply Ġ{ Ġthis . delay Ġ= Ġdelay Ġ}) Ċ } Ċ Ċ /** Ċ Ġ* ĠChecks Ġif Ġan Ġ[ Entity ] Ġgets Ġremoved Ġby Ġthe Ġengine Ġor Ġhas Ġa Ġ[ Remove Component ]. Ċ Ġ* ĠUse Ġthis Ġinstead Ġof Ġ[ Entity . is Removing ] Ġto Ġcheck Ġif Ġan Ġentity Ġreally Ġgets Ġremoved . Ċ Ġ*/ Ċ val ĠEntity . is Removed : ĠBoolean ĊĠ Ġget () Ġ{ ĊĠĠĠ Ġreturn Ġthis . is Removing Ġ|| Ġthis [ Remove Component . MAP PER ] Ġ!= Ġnull ĊĠ Ġ} Ċ