package com.arretadogames.pilot.items;
import android.graphics.Color;
import com.arretadogames.pilot.R;
import com.arretadogames.pilot.entities.Player;
import com.arretadogames.pilot.world.GameWorld;
public class WaterWalkItem implements Item {
private static final float WATER_WALK_DURATION = 5; // in seconds
private ItemType type = ItemType.WaterWalk;
private boolean isActive;
private Player owner;
private float remainingTime;
public WaterWalkItem() {
this.isActive = false;
}
@Override
public int getImageDrawable() {
return R.drawable.waterwalk_item;
}
@Override
public String getName() {
return type.getName();
}
@Override
public void activate(Player owner, GameWorld world) {
if (!isActive() && !owner.isOnWater()) {
this.remainingTime = WATER_WALK_DURATION;
this.isActive = true;
this.owner = owner;
}
}
public boolean isActive() {
return this.isActive;
}
@Override
public void step(float timeElapsed) {
if (isActive()) {
if (remainingTime <= 0) {
this.isActive = false; // It is over!
this.owner.setItem(null);
} else {
remainingTime -= timeElapsed;
}
}
}
@Override
public ItemType getType() {
return type;
}
@Override
public int getColor() {
return Color.BLUE;
}
}