summaryrefslogtreecommitdiffstats
path: root/src/UI/FurnaceWindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/UI/FurnaceWindow.h')
-rw-r--r--src/UI/FurnaceWindow.h57
1 files changed, 4 insertions, 53 deletions
diff --git a/src/UI/FurnaceWindow.h b/src/UI/FurnaceWindow.h
index 532f99928..845505f8e 100644
--- a/src/UI/FurnaceWindow.h
+++ b/src/UI/FurnaceWindow.h
@@ -10,7 +10,6 @@
#pragma once
#include "Window.h"
-#include "../Root.h"
@@ -22,58 +21,10 @@ class cFurnaceWindow :
typedef cWindow super;
public:
- cFurnaceWindow(int a_BlockX, int a_BlockY, int a_BlockZ, cFurnaceEntity * a_Furnace) :
- cWindow(wtFurnace, "Furnace")
- {
- m_SlotAreas.push_back(new cSlotAreaFurnace(a_Furnace, *this));
- m_SlotAreas.push_back(new cSlotAreaInventory(*this));
- m_SlotAreas.push_back(new cSlotAreaHotBar(*this));
- }
-
-
- virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override
- {
- cSlotAreas AreasInOrder;
-
- if (a_ClickedArea == m_SlotAreas[0])
- {
- // Furnace Area
- if (a_Slot == 2)
- {
- // Result Slot
- AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */
- AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */
- super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true);
- }
- else
- {
- // Furnace Input/Fuel Slot
- AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */
- AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */
- super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false);
- }
- }
- else
- {
- cFurnaceRecipe * FurnaceRecipes = cRoot::Get()->GetFurnaceRecipe();
- if ((FurnaceRecipes->GetRecipeFrom(a_ItemStack) != nullptr) || (FurnaceRecipes->IsFuel(a_ItemStack)))
- {
- // The item is a valid input item or fuel
- AreasInOrder.push_back(m_SlotAreas[0]); /* Furnace Area */
- }
- else if (a_ClickedArea == m_SlotAreas[1])
- {
- // Inventory Area
- AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */
- }
- else
- {
- // Hotbar Area
- AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */
- }
- super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false);
- }
- }
+ cFurnaceWindow(int a_BlockX, int a_BlockY, int a_BlockZ, cFurnaceEntity * a_Furnace);
+
+ virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea * a_ClickedArea, bool a_ShouldApply) override;
+
};