[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / ui / windows / GameWindowsManager.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/ui/windows/GameWindowsManager.kt b/core/src/ru/deadsoftware/cavedroid/game/ui/windows/GameWindowsManager.kt
index 56d92d6f8a8de8f7dd381f7971eba99d08565a0c..8d32f94e098322301c342a0308e9c7b43208f1a9 100644 (file)
package ru.deadsoftware.cavedroid.game.ui.windows
+import ru.deadsoftware.cavedroid.game.GameItemsHolder
import ru.deadsoftware.cavedroid.game.GameScope
import ru.deadsoftware.cavedroid.game.GameUiWindow
import ru.deadsoftware.cavedroid.game.mobs.MobsController
-import ru.deadsoftware.cavedroid.game.objects.DropController
+import ru.deadsoftware.cavedroid.game.objects.container.Chest
+import ru.deadsoftware.cavedroid.game.objects.drop.DropController
+import ru.deadsoftware.cavedroid.game.objects.container.Furnace
import ru.deadsoftware.cavedroid.game.ui.TooltipManager
-import ru.deadsoftware.cavedroid.game.ui.windows.inventory.AbstractInventoryWindow
-import ru.deadsoftware.cavedroid.game.ui.windows.inventory.CraftingInventoryWindow
-import ru.deadsoftware.cavedroid.game.ui.windows.inventory.CreativeInventoryWindow
-import ru.deadsoftware.cavedroid.game.ui.windows.inventory.SurvivalInventoryWindow
+import ru.deadsoftware.cavedroid.game.ui.windows.inventory.*
import javax.inject.Inject
@GameScope
private val tooltipManager: TooltipManager,
private val mobsController: MobsController,
private val dropController: DropController,
+ private val gameItemsHolder: GameItemsHolder,
) {
var creativeScrollAmount = 0
fun openInventory() {
if (mobsController.player.gameMode == 1) {
- currentWindow = CreativeInventoryWindow(GameUiWindow.CREATIVE_INVENTORY)
+ currentWindow = CreativeInventoryWindow()
} else {
- currentWindow = SurvivalInventoryWindow(GameUiWindow.SURVIVAL_INVENTORY)
+ currentWindow = SurvivalInventoryWindow(gameItemsHolder)
}
}
+ fun openFurnace(furnace: Furnace) {
+ currentWindow = FurnaceInventoryWindow(furnace)
+ }
+
+ fun openChest(chest: Chest) {
+ currentWindow = ChestInventoryWindow(chest)
+ }
+
fun openCrafting() {
- currentWindow = CraftingInventoryWindow(GameUiWindow.CRAFTING_TABLE)
+ currentWindow = CraftingInventoryWindow(gameItemsHolder)
}
fun closeWindow() {
- (currentWindow as? SurvivalInventoryWindow)?.let { window ->
- window.craftingItems.forEach { item ->
- item?.item?.let {
- dropController.addDrop(mobsController.player.x, mobsController.player.y, it, item.amount)
- }
- }
- }
-
- (currentWindow as? CraftingInventoryWindow)?.let { window ->
+ (currentWindow as? AbstractInventoryWindowWithCraftGrid)?.let { window ->
window.craftingItems.forEach { item ->
- item?.item?.let {
- dropController.addDrop(mobsController.player.x, mobsController.player.y, it, item.amount)
- }
+ dropController.addDrop(mobsController.player.x, mobsController.player.y, item)
}
}