41 lines
1012 B
Java
41 lines
1012 B
Java
package ca.cosc3p91.a2.gameobjects;
|
|
|
|
import ca.cosc3p91.a2.util.Time;
|
|
|
|
public abstract class ResourceBuilding extends Building {
|
|
|
|
protected interface ResourceHarvestHandler {
|
|
void harvest(CasaDeNarino hall);
|
|
}
|
|
|
|
public static String resource;
|
|
|
|
private final Time harvestMinTime = new Time().offsetSeconds(10);
|
|
|
|
private int harvest_rate;
|
|
private Time nextHarvestTime;
|
|
|
|
public ResourceBuilding() {
|
|
nextHarvestTime = Time.getTime().offsetTime(harvestMinTime);
|
|
}
|
|
|
|
public void upgrade(ResourceStage stage) {
|
|
super.upgrade(stage);
|
|
this.harvest_rate += stage.getHarvestRateIncrease();
|
|
}
|
|
|
|
public void update(CasaDeNarino hall){
|
|
if (nextHarvestTime.occurred()){
|
|
getHarvestHandler().harvest(hall);
|
|
nextHarvestTime = Time.getTime().offsetTime(harvestMinTime);
|
|
}
|
|
}
|
|
|
|
protected abstract ResourceHarvestHandler getHarvestHandler();
|
|
|
|
public int getHarvestRate(){
|
|
return harvest_rate;
|
|
}
|
|
|
|
}
|