X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2FCaveGame.java;h=3960176d059f885a66c13c5163225b0211c4bde9;hb=969518fd0bbde98b81c885c62f973d74ff5f61bb;hp=031b6135ae3fb58153427d52e76814d598898124;hpb=5b3244dceab39900a44eeb4d6108715c56735626;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/CaveGame.java b/core/src/ru/deadsoftware/cavedroid/CaveGame.java index 031b613..3960176 100644 --- a/core/src/ru/deadsoftware/cavedroid/CaveGame.java +++ b/core/src/ru/deadsoftware/cavedroid/CaveGame.java @@ -1,30 +1,40 @@ package ru.deadsoftware.cavedroid; +import com.badlogic.gdx.Application; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; -import ru.deadsoftware.cavedroid.game.GameItems; import ru.deadsoftware.cavedroid.game.GameScreen; import ru.deadsoftware.cavedroid.misc.Assets; +import ru.deadsoftware.cavedroid.misc.utils.AssetLoader; + +import javax.annotation.Nullable; public class CaveGame extends Game { private static final String TAG = "CaveGame"; - public static final String VERSION = "alpha 0.4"; + public static final String VERSION = "alpha 0.6.2"; private final MainConfig mMainConfig; private final MainComponent mMainComponent; + private final AssetLoader mAssetLoader; private final String mGameFolder; private final boolean mTouch; private boolean mDebug; - public CaveGame(String gameFolder, boolean touch) { + @Nullable + private final String mAssetsPackPath; + + public CaveGame(String gameFolder, boolean touch, @Nullable String assetsPackPath) { mGameFolder = gameFolder; mTouch = touch; + mAssetsPackPath = assetsPackPath; mMainComponent = DaggerMainComponent.builder().caveGame(this).build(); + mMainConfig = mMainComponent.getMainConfig(); + mAssetLoader = mMainComponent.getAssetLoader(); } public void setDebug(boolean debug) { @@ -41,11 +51,18 @@ public class CaveGame extends Game { mMainConfig.setWidth(width); mMainConfig.setHeight(height); mMainConfig.setShowInfo(mDebug); + mMainConfig.setAssetsPackPath(mAssetsPackPath); + + if (mDebug) { + Gdx.app.setLogLevel(Application.LOG_DEBUG); + } else { + Gdx.app.setLogLevel(Application.LOG_ERROR); + } } - public void newGame() { + public void newGame(int gameMode) { GameScreen gameScreen = mMainComponent.getGameScreen(); - gameScreen.newGame(); + gameScreen.newGame(gameMode); setScreen(gameScreen); } @@ -56,20 +73,27 @@ public class CaveGame extends Game { } public void quitGame() { + if (screen != null) { + screen.dispose(); + } setScreen(mMainComponent.getMenuScreen()); } @Override public void create() { - Gdx.app.log(TAG, mGameFolder); Gdx.files.absolute(mGameFolder).mkdirs(); - - Assets.load(); - GameItems.load(); - initConfig(); + Gdx.app.debug(TAG, mGameFolder); + Assets.load(mAssetLoader); setScreen(mMainComponent.getMenuScreen()); } + @Override + public void dispose() { + if (screen != null) { + screen.dispose(); + } + Assets.dispose(); + } }