package de.fau.cs.mad.fly.levels.tutorials; import com.badlogic.gdx.math.MathUtils; 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.GateCircuitListener; import de.fau.cs.mad.fly.res.GateGoal; /** * Level script file for the gate tutorial level. * * @author Tobi * */ public class GateTutorialLevel implements ILevel, IFeatureInit, GateCircuitListener { /** * Counts the amount of gates that are already reached. */ private int gateCounter = 0; @Override public void create(GameControllerBuilder builder) { builder.addFeatureToLists(this); } @Override public void init(GameController game) { InfoOverlay.getInstance().setOverlay(I18n.tLevel("tutorial.gate"), 5); } @Override public void onFinished() { // TODO Auto-generated method stub } @Override public void onGatePassed(GateGoal gate) { gateCounter++; if (gateCounter < 3) { InfoOverlay.getInstance().setOverlay(I18n.tLevel("tutorial.congratulation." + MathUtils.random(1, 5)), 3); } else if (gateCounter == 3) { InfoOverlay.getInstance().setOverlay(I18n.tLevel("tutorial.gate.indicator"), 5); } else if (gateCounter == 4) { InfoOverlay.getInstance().setOverlay(I18n.tLevel("tutorial.gate.choose"), 5); } else { InfoOverlay.getInstance().setOverlay(I18n.tLevel("tutorial.gate.finish"), 5); } } }