package Ġcom . space f ist . entities . en emies Ċ Ċ import Ġcom . badlogic . gdx . audio . Sound Ċ import Ġcom . badlogic . gdx . graphics . Texture Ċ import Ġcom . badlogic . gdx . math . Rectangle Ċ import Ġcom . badlogic . gdx . math . Vector 2 Ċ import Ġcom . space f ist . Game Data Ċ import Ġcom . space f ist . ai . ab st . Enemy AI Ċ import Ġcom . space f ist . ai . ag gressive ai . Aggressive AI Ċ import Ġcom . space f ist . ai . def ensive ai . Def ensive AI Ċ import Ġcom . space f ist . components . Null Input Component Ċ import Ġcom . space f ist . components . Physics Ċ import Ġcom . space f ist . components . Sprite Ċ import Ġcom . space f ist . entities . Entity Ċ Ċ /** Ċ Ġ* ĠThe Ġparent Ġclass Ġof Ġall Ġgame Ġenemies . Ċ Ġ*/ Ċ open Ġclass ĠEnemy ( ĊĠĠĠ Ġgame Data : ĠGame Data , ĊĠĠĠ Ġenemy Texture : ĠTexture , ĊĠĠĠ Ġsound : ĠSound , ĊĠĠĠ Ġposition : ĠVector 2 Ċ ) Ġ: ĠEntity ( ĊĠĠĠ Ġgame Data , ĊĠĠĠ ĠRectangle ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition . x . toInt (). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition . y . toInt (). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenemy Texture . width . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenemy Texture . height . toFloat () ĊĠĠĠ Ġ), ĊĠĠĠ ĠPhysics (), ĊĠĠĠ ĠNull Input Component (), ĊĠĠĠ ĠSprite ( enemy Texture ), ĊĠĠĠ Ġcom . space f ist . components . Sound ( sound ), ĊĠĠĠĠ 0 . 0 f Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠAI Ġthat Ġwill Ġcontrol Ġthis Ġenemy . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġai : ĠEnemy AI ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrotation Ġ= Ġ( 3 Ġ* ĠMath . PI Ġ/ Ġ 2 ). toFloat () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate () Ġ{ ĊĠĠĠĠĠĠĠ Ġai !!. update () ĊĠĠĠĠĠĠĠ Ġsuper . update () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPlay s Ġan Ġexplo sion Ġsound . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Death () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( sound Ġas Ġcom . space f ist . components . Sound ). play () ĊĠĠĠ Ġ} Ċ } Ċ /** Ċ Ġ* ĠRepresents Ġan Ġenemy Ġfight er Ġwith Ġag gressive Ġram ming Ġbehavior . Ċ Ġ* Ċ Ġ* Ġ@ param Ġgame Data ĠCommon Ġgame Ġdata Ċ Ġ* Ġ@ param Ġposition ĠThe Ġplace Ġin Ġthe Ġworld Ġto Ġput Ġthe Ġfight er Ċ Ġ*/ Ċ class ĠEnemy Fight er ( ĊĠĠĠ Ġgame Data : ĠGame Data , ĊĠĠĠ Ġposition : ĠVector 2 Ċ ) Ġ: ĠEnemy ( ĊĠĠĠ Ġgame Data , ĊĠĠĠ Ġgame Data . textures [" Enemy Fight er "] !! , ĊĠĠĠ Ġgame Data . sound Effects [" Explo sion "] !! , ĊĠĠĠ Ġposition Ċ ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġai Ġ= ĠAg gressive AI ( game Data , Ġthis ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġbulk y Ġenemy Ġfre ight er Ġthat Ġdoes Ġnot Ġfollow Ġthe Ġplayer , Ġbut Ġfires Ġin Ġits Ċ Ġ* Ġdirection . Ċ Ġ* Ċ Ġ* Ġ@ param Ġgame Data ĠCommon Ġgame Ġdata Ċ Ġ* Ġ@ param Ġposition ĠThe Ġlocation Ġto Ġplace Ġthe Ġfre ight er Ġin Ġthe Ġworld Ċ Ġ*/ Ċ class ĠEnemy Fre ight er ( ĊĠĠĠ Ġgame Data : ĠGame Data , ĊĠĠĠ Ġposition : ĠVector 2 Ċ ) Ġ: ĠEnemy ( ĊĠĠĠ Ġgame Data , ĊĠĠĠ Ġgame Data . textures [" Enemy Fre ight er "] !! , ĊĠĠĠ Ġgame Data . sound Effects [" Explo sion "] !! , ĊĠĠĠ Ġposition Ċ ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġai Ġ= ĠDef ensive AI ( game Data , Ġthis ) ĊĠĠĠ Ġ} Ċ }