package com.gdxjam.systems;
import com.badlogic.ashley.core.Engine;
import com.badlogic.ashley.core.Entity;
import com.badlogic.ashley.core.Family;
import com.badlogic.ashley.core.PooledEngine;
import com.badlogic.ashley.systems.IteratingSystem;
import com.gdxjam.GameManager;
import com.gdxjam.components.Components;
import com.gdxjam.components.DecayComponent;
public class DecaySystem extends IteratingSystem {
private PooledEngine engine;
public DecaySystem() {
super(Family.all(DecayComponent.class).get());
}
@Override
public void addedToEngine(Engine engine) {
super.addedToEngine(engine);
this.engine = (PooledEngine) engine;
}
@Override
protected void processEntity(Entity entity, float deltaTime) {
DecayComponent decayComp = Components.DECAY.get(entity);
if (decayComp.elapsed >= decayComp.decayTime)
engine.removeEntity(entity);
else
decayComp.elapsed += deltaTime;
}
@Override
public boolean checkProcessing() {
return !GameManager.isPaused();
}
}