package de.fau.cs.mad.fly.levels.medium;
import com.badlogic.gdx.math.Vector3;
import de.fau.cs.mad.fly.I18n;
import de.fau.cs.mad.fly.features.IFeatureInit;
import de.fau.cs.mad.fly.features.overlay.InfoOverlay;
import de.fau.cs.mad.fly.game.GameController;
import de.fau.cs.mad.fly.game.GameControllerBuilder;
import de.fau.cs.mad.fly.levels.ILevel;
import de.fau.cs.mad.fly.res.GateGoal;
/**
* In this level all gates are 10% smaller.
*
* @author Lukas Hahmann <lukas.hahmann@gmail.com>
*
*/
public class SmallerGatesLevel implements ILevel, IFeatureInit {
@Override
public void create(GameControllerBuilder builder) {
builder.addFeatureToLists(this);
}
@Override
public void init(GameController game) {
Vector3 scale = new Vector3(.6f, .6f, .6f);
Vector3 scaling = new Vector3();
for (GateGoal g : game.getLevel().getGateCircuit().allGateGoals()) {
if (g.getDisplay() != null) {
g.getDisplay().transform.scl(scale);
g.getDisplay().transform.getScale(scaling);
g.getDisplay().getRigidBody().getCollisionShape().setLocalScaling(scaling);
}
g.transform.scl(scale);
g.transform.getScale(scaling);
g.getRigidBody().getCollisionShape().setLocalScaling(scaling);
}
InfoOverlay.getInstance().setOverlay(I18n.tLevel("gates.smaller"), 5);
}
}