You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1018 B
60 lines
1018 B
10 years ago
|
package mightypork.rogue.world.entity.entities;
|
||
|
|
||
|
|
||
|
import mightypork.gamecore.util.math.algo.pathfinding.PathFinder;
|
||
|
import mightypork.rogue.world.entity.*;
|
||
|
import mightypork.rogue.world.entity.renderers.EntityRenderer;
|
||
|
import mightypork.rogue.world.entity.renderers.EntityRendererMobLR;
|
||
|
|
||
|
|
||
|
public class RatEntity extends Entity {
|
||
|
|
||
|
/** Navigation PFC */
|
||
|
private PathFinder pathf;
|
||
|
|
||
|
private final RatAi ai = new RatAi(this);
|
||
|
|
||
|
private EntityRenderer renderer;
|
||
|
|
||
|
|
||
|
public RatEntity(EntityModel model, int eid)
|
||
|
{
|
||
|
super(model, eid);
|
||
|
|
||
|
addModule("ai", ai);
|
||
|
pos.addMoveListener(ai);
|
||
|
|
||
|
pos.setStepTime(0.5);
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
public PathFinder getPathFinder()
|
||
|
{
|
||
|
if (pathf == null) {
|
||
|
pathf = new EntityPathFinder(this);
|
||
|
}
|
||
|
|
||
|
return pathf;
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
public EntityType getType()
|
||
|
{
|
||
|
return EntityType.MONSTER;
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
protected EntityRenderer getRenderer()
|
||
|
{
|
||
|
if (renderer == null) {
|
||
|
renderer = new EntityRendererMobLR(this, "sprite.player");
|
||
|
}
|
||
|
|
||
|
return renderer;
|
||
|
}
|
||
|
|
||
|
}
|