package net.mostlyoriginal.ns2d.system.active;
import com.artemis.Aspect;
import com.artemis.ComponentMapper;
import com.artemis.Entity;
import com.artemis.annotations.Wire;
import com.artemis.systems.EntityProcessingSystem;
import net.mostlyoriginal.ns2d.component.Anim;
import net.mostlyoriginal.ns2d.component.Terminal;
/**
* @author Daan van Yperen
*/
@Wire
public class TerminalSystem extends EntityProcessingSystem {
ComponentMapper<Terminal> tm;
ComponentMapper<Anim> am;
public TerminalSystem() {
super(Aspect.getAspectForAll(Terminal.class));
}
@Override
protected void process(Entity e) {
final Terminal terminal = tm.get(e);
terminal.lifetime -= world.delta;
if ( terminal.alphaFadeout > 0 && terminal.lifetime <= terminal.alphaFadeout && am.has(e))
{
am.get(e).color.a = (terminal.lifetime / terminal.alphaFadeout);
}
if ( terminal.lifetime <= 0 )
e.deleteFromWorld();
}
}