package com.digitalwolf.creatures;
import com.badlogic.gdx.math.Rectangle;
import com.digitalwolf.world.World;
public class Dragon extends Sprite{
public float MAX_VELOCITY = 0.07f;
private float BOUNDARY_x1;
private float BOUNDARY_x2;
public static final int STILL = 0;
public static final int FLYING = 1;
public static final float width = 40 * World.WORLD_UNIT;
public static final float height = 40 * World.WORLD_UNIT;
public int state;
public float stateTime;
public boolean facesRight;
public boolean visible;
public Dragon(float x, float y) {
super(x, y);
// TODO Auto-generated constructor stub
state = FLYING;
stateTime = 0;
facesRight = false;
BOUNDARY_x1 = x-4;
BOUNDARY_x2 = x+4;
visible = true;
}
public void update(float deltaTime) {
super.update(deltaTime);
stateTime+= deltaTime;
position.add(velocity);
if(state == FLYING)
flyHorizontally();
}
public Rectangle getBounds() {
return new Rectangle(position.x, position.y, width, height/2);
}
private void flyHorizontally() {
if(position.x <=BOUNDARY_x1){
velocity.x += MAX_VELOCITY;
facesRight=true;
}
if(position.x >=BOUNDARY_x2){
velocity.x -= MAX_VELOCITY;
facesRight=false;
}
}
}