DEADSOFTWARE

adaedde60da40ee5cdf242505121ac9507521a70
[cavedroid.git] /
1 package ru.fredboy.cavedroid.data.configuration.store
2
3 import ru.fredboy.cavedroid.common.di.GameScope
4 import ru.fredboy.cavedroid.common.model.Joystick
5 import ru.fredboy.cavedroid.domain.configuration.model.CameraContext
6 import ru.fredboy.cavedroid.data.configuration.model.GameContext
7 import javax.inject.Inject
8
9 @GameScope
10 class GameContextStore @Inject constructor(
11 private val gameContext: GameContext
12 ) {
13
14 private val lock = Any()
15
16 val isLoadGame: Boolean
17 get() = gameContext.isLoadGame
18
19 var showInfo: Boolean
20 get() = synchronized(lock) { gameContext.showInfo }
21 set(value) = synchronized(lock) { gameContext.showInfo = value }
22
23 var showMap: Boolean
24 get() = synchronized(lock) { gameContext.showMap }
25 set(value) = synchronized(lock) { gameContext.showMap = value }
26
27 var joystick: Joystick
28 get() = synchronized(lock) { gameContext.joystick }
29 set(value) = synchronized(lock) { gameContext.joystick = value }
30
31 var cameraContext: CameraContext
32 get() = synchronized(lock) { gameContext.cameraContext }
33 set(value) = synchronized(lock) { gameContext.cameraContext = value }
34
35 companion object {
36 private const val TAG = "GameConfigurationStore"
37 }
38 }