class ResourceEmitter extends Emitter { float growth_rate; float max_ev; //maximum emission value; ResourceEmitter(Tuple position, String et, float ev, float growth_rate, float max_ev) { super(position, et, ev); this.growth_rate = growth_rate; this.max_ev = max_ev; } void setMaxGrowthRate(float max_ev) { this.max_ev = max_ev; } void update() { float time_elapsed = ((millis() - last_update_millis) / 1000); super.update(); ev += growth_rate * time_elapsed; if (ev > max_ev) { ev = max_ev; } } }