package com.indignado.logicbricks.systems;
import com.badlogic.ashley.core.Engine;
import com.badlogic.ashley.core.Family;
import com.badlogic.ashley.systems.IteratingSystem;
import com.indignado.logicbricks.config.GameContext;
import com.indignado.logicbricks.core.LogicBricksEngine;
import com.indignado.logicbricks.core.LogicBricksException;
/**
* @author Rubentxu.
*/
public abstract class LogicBrickSystem extends IteratingSystem {
protected String tag = this.getClass().getSimpleName();
protected GameContext context;
protected LogicBricksEngine engine;
public LogicBrickSystem(Family family, int priority) {
super(family, priority);
}
public LogicBrickSystem(Family family) {
super(family);
}
@Override
public void addedToEngine(Engine engine) {
super.addedToEngine(engine);
if (engine instanceof LogicBricksEngine) {
this.engine = (LogicBricksEngine) engine;
this.context = this.engine.getGameContext();
} else {
throw new LogicBricksException(tag, "Error not LogicBricksEngine instance");
}
}
}