package Ġorg . aa hz br ut . dark matter . factory Ċ Ċ import Ġcom . badlogic . ash ley . core . Engine Ċ import Ġk tx . ash ley . entity Ċ import Ġk tx . ash ley . with Ċ import Ġorg . aa hz br ut . dark matter .* Ċ import Ġorg . aa hz br ut . dark matter . asset . Sprite Cache Ċ import Ġorg . aa hz br ut . dark matter . component .* Ċ Ċ class ĠEnemy Factory ( private Ġval Ġengine : ĠEngine , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġsprite Cache : ĠSprite Cache ) Ġ{ ĊĊĠĠĠ Ġfun Ġspawn () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġengine . entity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Enemy Component > Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Transform Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Initial Position ( get Spawn X Position (), ĠW ORLD _ HEIGHT Ġ+ ĠE NE MY _ SIZE , Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize . set ( EN EM Y _ SIZE , ĠE NE MY _ SIZE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < BoundingBox Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounding Box . set ( EN EM Y _ BOUND ING _ BOX ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Move Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvelocity . set ( 0 f , Ġ- EN EM Y _ SPEED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith < Graphic Component > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Sprite ( sprite Cache . get Sprite (" de br is / A ster oid ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Spawn X Position () Ġ= Ġ( 0 .. ( WORLD _ WIDTH Ġ- ĠE NE MY _ SIZE ). toInt ()). random (). toFloat () Ċ }