package net.CyanWool.api.entity.component;
import net.CyanWool.api.entity.Entity;
/**
* Здоровье Entity
*
* @author DinDev
*/
public class HealthComponent extends SystemComponent {
private float maxHealth;
private float health;
private boolean needUpdate;
public HealthComponent(Entity entity, float maxHealth) {
super(entity);
this.maxHealth = maxHealth;
this.health = maxHealth;
}
public float getMaxHealth() {
return maxHealth;
}
public void setMaxHealth(float maxHealth) {
this.maxHealth = maxHealth;
if (getHealth() > getMaxHealth()) {
setHealth(maxHealth);
}
this.needUpdate = true;
}
public float getHealth() {
return health;
}
public void setHealth(float health) {
this.health = health;
this.needUpdate = true;
}
@Override
public String getID() {
return "health";
}
@Override
public void update() {
getEntity().getMetadata().setMetadata(6, this.health = this.maxHealth);
}
@Override
public boolean autoUpdate() {
return true;
}
public boolean isNeedUpdate() {
return needUpdate;
}
public void setNeedUpdate(boolean b) {
this.needUpdate = b;
}
}