1 package ru
.deadsoftware
.cavedroid
;
3 import ru
.deadsoftware
.cavedroid
.game
.GameUiWindow
;
4 import ru
.deadsoftware
.cavedroid
.game
.input
.Joystick
;
5 import ru
.deadsoftware
.cavedroid
.prefs
.PreferencesStore
;
7 import javax
.annotation
.CheckForNull
;
8 import javax
.annotation
.Nullable
;
9 import javax
.inject
.Inject
;
10 import javax
.inject
.Singleton
;
11 import java
.util
.HashMap
;
14 public class MainConfig
{
16 private final HashMap
<String
, String
> mPreferencesCache
= new HashMap
<>();
19 private FullscreenToggleListener mFullscreenToggleListener
= null;
21 private final CaveGame mCaveGame
;
22 private final PreferencesStore mPreferencesStore
;
25 private MainComponent mMainComponent
;
28 private Joystick mJoystick
;
30 private GameUiWindow mGameUiWindow
;
31 private String mGameFolder
;
33 private boolean mTouch
;
34 private boolean mShowInfo
;
35 private boolean mShowMap
;
38 private float mHeight
;
41 private String mAssetsPackPath
= null;
44 public MainConfig(CaveGame caveGame
, PreferencesStore preferencesStore
) {
46 mPreferencesStore
= preferencesStore
;
48 mGameUiWindow
= GameUiWindow
.NONE
;
52 public CaveGame
getCaveGame() {
56 public MainComponent
getMainComponent() {
57 assert mMainComponent
!= null;
58 return mMainComponent
;
61 public void setMainComponent(MainComponent mainComponent
) {
62 mMainComponent
= mainComponent
;
65 public boolean checkGameUiWindow(GameUiWindow gameUiWindow
) {
66 return mGameUiWindow
== gameUiWindow
;
69 public void setGameUiWindow(GameUiWindow gameUiWindow
) {
70 mGameUiWindow
= gameUiWindow
;
73 public String
getGameFolder() {
77 public void setGameFolder(String gameFolder
) {
78 mGameFolder
= gameFolder
;
81 public boolean isTouch() {
85 public void setTouch(boolean touch
) {
89 public float getWidth() {
93 public void setWidth(float width
) {
97 public float getHeight() {
101 public void setHeight(float height
) {
105 public boolean isShowInfo() {
109 public void setShowInfo(boolean showInfo
) {
110 mShowInfo
= showInfo
;
113 public boolean isShowMap() {
117 public void setShowMap(boolean showMap
) {
122 public String
getAssetsPackPath() {
123 return mAssetsPackPath
;
126 public void setAssetsPackPath(@Nullable String assetsPackPath
) {
127 mAssetsPackPath
= assetsPackPath
;
131 public Joystick
getJoystick() {
135 public void setJoystick(@CheckForNull Joystick joystick
) {
136 mJoystick
= joystick
;
140 public String
getPreference(String key
) {
141 if (mPreferencesCache
.containsKey(key
)) {
142 return mPreferencesCache
.get(key
);
145 String value
= mPreferencesStore
.getPreference(key
);
146 mPreferencesCache
.put(key
, value
);
151 public void setPreference(String key
, String value
) {
152 mPreferencesCache
.put(key
, value
);
153 mPreferencesStore
.setPreference(key
, value
);
155 if (mFullscreenToggleListener
!= null && key
.equals("fullscreen")) {
156 mFullscreenToggleListener
.onFullscreenToggled(Boolean
.parseBoolean(value
));
160 public void setFullscreenToggleListener(@Nullable FullscreenToggleListener fullscreenToggleListener
) {
161 mFullscreenToggleListener
= fullscreenToggleListener
;
164 public boolean isUseDynamicCamera() {
165 return Boolean
.parseBoolean(getPreference("dyncam"));
168 public interface FullscreenToggleListener
{
169 void onFullscreenToggled(boolean value
);