package game.logics.actors.enemies
{
import com.soybeansoft.display.blit.helpers.RectTilesRenderer;
import com.soybeansoft.util.MathUtil;
import com.soybeansoft.util.RectTiles;
import flash.geom.Point;
import flash.geom.Rectangle;
import game.Config;
import game.logics.actions.MoveTo;
import game.logics.actions.Parallel;
import game.logics.actions.Shoot;
import game.logics.actors.Enemy;
import game.logics.EnemyPattern;
import game.logics.ObjectFactory;
import game.logics.Weapon;
import game.logics.weapons.Enemy01Weapon;
/**
* ...
* @author Guntur Sarwohadi
*/
public class Enemy01 extends Enemy
{
private var tick:int = 0;
public function Enemy01(position:Point, weapon:Weapon, patterns:EnemyPattern, factory:ObjectFactory)
{
super(position, weapon, patterns, factory);
speed = 4;
health = 50;
}
override public function shoot():void
{
weapon.shoot(new Point(position.x, position.y), MathUtil.rangedArray(0, 350, 10));
}
override protected function build():void
{
assetName = Config.ASSET_ENEMY01;
hit.width = hit.height = 32;
hit.x = hit.y = -16;
face = new RectTiles(new Rectangle(0, 0, 64, 64), 64, 64);
faceHit = new RectTiles(new Rectangle(0, 64, 64, 64), 64, 64);
face.delay = faceHit.delay = 2;
facePos = new Point( -32, -32);
renderHelper = new RectTilesRenderer(assetName, face, facePos, position);
}
}
}