1 package ru.fredboy.cavedroid.data.configuration.store
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
10 class GameContextStore @Inject constructor(
11 private val gameContext: GameContext
14 private val lock = Any()
16 val isLoadGame: Boolean
17 get() = gameContext.isLoadGame
20 get() = synchronized(lock) { gameContext.showInfo }
21 set(value) = synchronized(lock) { gameContext.showInfo = value }
24 get() = synchronized(lock) { gameContext.showMap }
25 set(value) = synchronized(lock) { gameContext.showMap = value }
27 var joystick: Joystick
28 get() = synchronized(lock) { gameContext.joystick }
29 set(value) = synchronized(lock) { gameContext.joystick = value }
31 var cameraContext: CameraContext
32 get() = synchronized(lock) { gameContext.cameraContext }
33 set(value) = synchronized(lock) { gameContext.cameraContext = value }
36 private const val TAG = "GameConfigurationStore"