package Ġcom . github . qu ill r aven . qu illy crawler . 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 Ġk tx . ash ley . entity Ċ import Ġk tx . ash ley . get Ċ import Ġk tx . ash ley . mapper For Ċ import Ġk tx . ash ley . with Ċ import Ġk tx . collections . G dx Array Ċ Ċ class ĠHe al Emitter Component Ġ: ĠComponent , ĠPool . Pool able Ġ{ ĊĠ Ġlateinit Ġvar Ġsource : ĠEntity ĊĠ Ġlateinit Ġvar Ġtarget : ĠEntity ĊĠ Ġvar Ġlife : ĠFloat Ġ= Ġ 0 f ĊĠ Ġvar Ġman a : ĠFloat Ġ= Ġ 0 f ĊĠ Ġvar Ġdelay : ĠFloat Ġ= Ġ 0 f ĊĊĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠ Ġlife Ġ= Ġ 0 f ĊĠĠĠ Ġman a Ġ= Ġ 0 f ĊĠĠĠ Ġdelay Ġ= Ġ 0 f ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠMAP PER Ġ= Ġmapper For < He al Emitter Component >() ĊĠ Ġ} Ċ } Ċ Ċ val ĠEntity . he al Emitter Cmp : ĠHe al Emitter Component ĊĠ Ġget () Ġ= Ġthis [ He al Emitter Component . MAP PER ] ĊĠĠĠ Ġ?: Ġthrow ĠG dx RuntimeException (" He al Emitter Component Ġfor Ġentity Ġ'$ this ' Ġis Ġnull ") Ċ Ċ fun ĠEntity . he al ( ĊĠ Ġengine : ĠEngine , ĊĠ Ġtargets : ĠG dx Array < Entity >, ĊĠ Ġlife : ĠFloat , ĊĠ Ġman a : ĠFloat , ĊĠ Ġdelay : ĠFloat Ġ= Ġ 0 f Ċ ) Ġ{ ĊĠ Ġval Ġsource Entity Ġ= Ġthis ĊĊĠ Ġtargets . forEach Ġ{ Ġtarget Entity Ġ-> ĊĠĠĠ Ġengine . entity Ġ{ ĊĠĠĠĠĠ Ġwith < He al Emitter Component > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . source Ġ= Ġsource Entity ĊĠĠĠĠĠĠĠ Ġthis . target Ġ= Ġtarget Entity ĊĠĠĠĠĠĠĠ Ġthis . life Ġ= Ġlife ĊĠĠĠĠĠĠĠ Ġthis . mana Ġ= Ġman a ĊĠĠĠĠĠĠĠ Ġthis . delay Ġ= Ġdelay ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ