DEADSOFTWARE

Update README
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / windows / GameWindowsManager.kt
1 package ru.deadsoftware.cavedroid.game.windows
3 import ru.deadsoftware.cavedroid.MainConfig
4 import ru.deadsoftware.cavedroid.game.GameScope
5 import ru.deadsoftware.cavedroid.game.GameUiWindow
6 import ru.deadsoftware.cavedroid.game.mobs.MobsController
7 import ru.deadsoftware.cavedroid.game.model.item.InventoryItem
8 import ru.deadsoftware.cavedroid.game.windows.inventory.AbstractInventoryWindow
9 import ru.deadsoftware.cavedroid.game.windows.inventory.CraftingInventoryWindow
10 import ru.deadsoftware.cavedroid.game.windows.inventory.CreativeInventoryWindow
11 import ru.deadsoftware.cavedroid.game.windows.inventory.SurvivalInventoryWindow
12 import javax.inject.Inject
14 @GameScope
15 class GameWindowsManager @Inject constructor(
16 private val mainConfig: MainConfig,
17 private val mobsController: MobsController,
18 ) {
20 var creativeScrollAmount = 0
21 var isDragging = false
23 var currentWindow: AbstractInventoryWindow? = null
25 @JvmName("getCurrentWindowType")
26 fun getCurrentWindow(): GameUiWindow {
27 return currentWindow?.type ?: GameUiWindow.NONE
28 }
30 fun openInventory() {
31 if (mobsController.player.gameMode == 1) {
32 currentWindow = CreativeInventoryWindow(GameUiWindow.CREATIVE_INVENTORY)
33 } else {
34 currentWindow = SurvivalInventoryWindow(GameUiWindow.SURVIVAL_INVENTORY)
35 }
36 }
38 fun openCrafting() {
39 currentWindow = CraftingInventoryWindow(GameUiWindow.CRAFTING_TABLE)
40 }
42 fun closeWindow() {
43 currentWindow = null
44 }
46 }