package de.onyxbits.pocketbandit;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.*;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.utils.*;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.graphics.*;
import java.util.*;
import de.onyxbits.bureauengine.*;
import de.onyxbits.bureauengine.util.*;
import de.onyxbits.bureauengine.audio.*;
import de.onyxbits.bureauengine.screen.*;
import com.badlogic.gdx.scenes.scene2d.utils.*;
/**
* The platform independent entry point of the game
*/
public class SlotMachine extends BureauGame {
public static FadeOverScreen fadeOverScreen;
public Skin skin;
public TrialPeriod trialPeriod;
public LinkHandler linkHandler;
public Loader loader;
protected void bootGame() {
fadeOverScreen = new FadeOverScreen();
loader=new Loader(prefs);
loader.rescan();
linkHandler = new LinkHandler();
try {
Properties prop = new Properties();
prop.load(Gdx.files.internal("build.properties").read(512));
if (prop.getProperty("dist.channel").equals("googleplay")) {
trialPeriod = new TrialPeriod(prefs,"trial.count","trial.first","trial.state");
if (trialPeriod.getState()==TrialPeriod.UNKNOWN) {
// First launch -> set the trial active
trialPeriod.setState(TrialPeriod.INPROGRESS);
}
if ( (trialPeriod.getState() & TrialPeriod.ENDED) != TrialPeriod.ENDED) {
// We only count when the period is not over.
trialPeriod.trialed();
}
}
}
catch (Exception e) {
// Don't care
Gdx.app.error("PocketBandit","No build.properties?",e);
}
}
protected Preferences createPreferences() {
return Gdx.app.getPreferences("PocketBandit");
}
protected MuteManager createMuteManager() {
MuteManager ret = new MuteManager();
ret.persistWith(prefs,false,"MuteManager.musicMuted","MuteManager.soundMuted");
return ret;
}
protected BureauScreen createStartUpScreen() {
assetManager.load("textures/global.atlas",TextureAtlas.class);
assetManager.finishLoading();
TextureAtlas globalAtlas= assetManager.get("textures/global.atlas",TextureAtlas.class);
BitmapFont defaultFont = new BitmapFont();
skin = new Skin(globalAtlas);
Window.WindowStyle windowStyle = new Window.WindowStyle();
windowStyle.titleFont = defaultFont;
windowStyle.background= new NinePatchDrawable(new NinePatch(globalAtlas.findRegion("roundbox_grey"),8,8,8,8));
skin.add("default",windowStyle);
Label.LabelStyle labelStyle = new Label.LabelStyle();
labelStyle.font= defaultFont;
labelStyle.fontColor = Color.BLACK;
skin.add("default",labelStyle);
ScrollPane.ScrollPaneStyle scrollPaneStyle = new ScrollPane.ScrollPaneStyle();
scrollPaneStyle.background = new NinePatchDrawable(new NinePatch(globalAtlas.findRegion("roundbox_grey"),8,8,8,8));
skin.add("default",scrollPaneStyle);
return new MenuScreen<SlotMachine>(this);
}
@Override
public void pause() {
prefs.flush();
super.pause();
}
@Override
public void resume() {
fadeOverScreen = new FadeOverScreen();
super.resume();
}
@Override
public void dispose() {
prefs.flush();
skin.dispose();
super.dispose();
}
}