package Ġorg . aa hz br ut . dark matter . factory Ċ Ċ import Ġbox 2 d Light . Point Light Ċ import Ġbox 2 d Light . Ray Handler Ċ import Ġcom . badlogic . ash ley . core . Engine Ċ import Ġcom . badlogic . gdx . graphics . Color Ċ import Ġk tx . ash ley . entity Ċ import Ġk tx . ash ley . with Ċ import Ġorg . aa hz br ut . dark matter . MAX _ R AY _ NUMBER Ċ import Ġorg . aa hz br ut . dark matter . PLAYER _ BOUND ING _ BOX Ċ import Ġorg . aa hz br ut . dark matter . PLAYER _ SIZE Ċ import Ġorg . aa hz br ut . dark matter . asset . Sprite Cache Ċ import Ġorg . aa hz br ut . dark matter . component .* Ċ Ċ class ĠPlayer Factory ( private Ġval Ġengine : ĠEngine , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġsprite Cache : ĠSprite Cache , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġray Handler : ĠRay Handler ) Ġ{ ĊĊĠĠĠ Ġfun Ġspawn ( x : ĠFloat , Ġy : ĠFloat , Ġz : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġengine . entity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Transform Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Initial Position ( x , Ġy , Ġz ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize . set ( PLAYER _ SIZE , ĠP LAYER _ SIZE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < BoundingBox Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounding Box . set ( PLAYER _ BOUND ING _ BOX ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Move Component > Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Graphic Component > Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Player Component > Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Roll Component > Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Weapon Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Gun Position . set ( 1 . 7 5 f , Ġ 3 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Gun Position . set (. 5 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Gun Position . set ( PLAYER _ SIZE Ġ- Ġ 1 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Light Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight Ġ= ĠPoint Light ( ray Handler , ĠMAX _ R AY _ NUMBER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight . color Ġ= ĠColor ( 1 f , 1 f , 1 f ,. 6 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight . distance Ġ= Ġ 8 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight . isActive Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight . is X ray Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight . is Static Light Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġengine . entity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Transform Component > Ġ{ Ġsize . set ( PLAYER _ SIZE , ĠP LAYER _ SIZE ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Animation Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠAnimation Type . TH R USTER ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Graphic Component > Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Attachment Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Ġ= Ġplayer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffset . set ( 0 f , Ġ- 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }