package net.onedaybeard.dominatrix.demo.manager;
import net.onedaybeard.dominatrix.demo.component.Renderable;
import net.onedaybeard.dominatrix.demo.component.Scale;
import com.artemis.ComponentMapper;
import com.artemis.Entity;
import com.artemis.Manager;
import com.artemis.World;
import com.badlogic.gdx.graphics.g2d.Sprite;
public final class ScaleManager extends Manager
{
private ComponentMapper<Renderable> renderableMapper;
private ComponentMapper<Scale> scaleMapper;
@Override
protected void initialize()
{
renderableMapper = world.getMapper(Renderable.class);
scaleMapper = world.getMapper(Scale.class);
}
@Override
protected void setWorld(World world)
{
super.setWorld(world);
}
@Override
public void changed(Entity e)
{
Renderable renderable = renderableMapper.getSafe(e);
if (renderable == null)
return;
Scale variableScale = scaleMapper.getSafe(e);
float scale = 1;
if (variableScale != null)
scale = variableScale.value();
updateSpriteScale(renderable.getSprite(), scale);
}
private static void updateSpriteScale(Sprite sprite, float scale)
{
sprite.setScale(scale);
}
}