42533236e2794d906b6392480ecbd593f4dc5c25
1 package ru
.deadsoftware
.cavedroid
;
3 import com
.badlogic
.gdx
.Application
;
4 import com
.badlogic
.gdx
.Game
;
5 import com
.badlogic
.gdx
.Gdx
;
6 import ru
.deadsoftware
.cavedroid
.game
.GameItems
;
7 import ru
.deadsoftware
.cavedroid
.game
.GameScreen
;
8 import ru
.deadsoftware
.cavedroid
.misc
.Assets
;
9 import ru
.deadsoftware
.cavedroid
.misc
.utils
.AssetLoader
;
11 import javax
.annotation
.Nullable
;
13 public class CaveGame
extends Game
{
15 private static final String TAG
= "CaveGame";
17 public static final String VERSION
= "alpha 0.5.2";
19 private final MainConfig mMainConfig
;
20 private final MainComponent mMainComponent
;
21 private final AssetLoader mAssetLoader
;
23 private final String mGameFolder
;
24 private final boolean mTouch
;
25 private boolean mDebug
;
28 private final String mAssetsPackPath
;
30 public CaveGame(String gameFolder
, boolean touch
, @Nullable String assetsPackPath
) {
31 mGameFolder
= gameFolder
;
33 mAssetsPackPath
= assetsPackPath
;
35 mMainComponent
= DaggerMainComponent
.builder().caveGame(this).build();
37 mMainConfig
= mMainComponent
.getMainConfig();
38 mAssetLoader
= mMainComponent
.getAssetLoader();
41 public void setDebug(boolean debug
) {
45 private void initConfig() {
46 int width
= mTouch ?
320 : 480;
47 int height
= (int) (width
* ((float) Gdx
.graphics
.getHeight() / Gdx
.graphics
.getWidth()));
49 mMainConfig
.setMainComponent(mMainComponent
);
50 mMainConfig
.setGameFolder(mGameFolder
);
51 mMainConfig
.setTouch(mTouch
);
52 mMainConfig
.setWidth(width
);
53 mMainConfig
.setHeight(height
);
54 mMainConfig
.setShowInfo(mDebug
);
55 mMainConfig
.setAssetsPackPath(mAssetsPackPath
);
58 Gdx
.app
.setLogLevel(Application
.LOG_DEBUG
);
60 Gdx
.app
.setLogLevel(Application
.LOG_ERROR
);
64 public void newGame(int gameMode
) {
65 GameScreen gameScreen
= mMainComponent
.getGameScreen();
66 gameScreen
.newGame(gameMode
);
67 setScreen(gameScreen
);
70 public void loadGame() {
71 GameScreen gameScreen
= mMainComponent
.getGameScreen();
72 gameScreen
.loadGame();
73 setScreen(gameScreen
);
76 public void quitGame() {
80 setScreen(mMainComponent
.getMenuScreen());
84 public void create() {
85 Gdx
.app
.log(TAG
, mGameFolder
);
86 Gdx
.files
.absolute(mGameFolder
).mkdirs();
90 Assets
.load(mAssetLoader
);
91 GameItems
.load(mAssetLoader
);
93 setScreen(mMainComponent
.getMenuScreen());
97 public void dispose() {