[Orxonox-commit 7093] r11710 - code/trunk/data/gui/scripts
landauf at orxonox.net
landauf at orxonox.net
Sun Jan 7 00:50:29 CET 2018
Author: landauf
Date: 2018-01-07 00:50:29 +0100 (Sun, 07 Jan 2018)
New Revision: 11710
Modified:
code/trunk/data/gui/scripts/PickupInventory.lua
Log:
fixed two bugs in PickupInventory.lua:
- the update function had a messed up logic regarding the use-button in the detail window (condition was partially inverted)
- updating the event subscription of the use-button in the detail-window doesn't seem to work - probably CEGUI doesn't like updating/changing/overriding an event while begin IN a mouse-click-event already. moving the logic to the Use/Unuse-function instead seems to work.
Modified: code/trunk/data/gui/scripts/PickupInventory.lua
===================================================================
--- code/trunk/data/gui/scripts/PickupInventory.lua 2018-01-06 23:46:52 UTC (rev 11709)
+++ code/trunk/data/gui/scripts/PickupInventory.lua 2018-01-06 23:50:29 UTC (rev 11710)
@@ -50,15 +50,13 @@
P.detailPickups[k] = nil
else
useButton:setEnabled(true)
- if pickup.inUse == true then
- useButton:setText("unuse")
- orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseDetailButton_clicked")
+ if pickup.inUse == false then
+ useButton:setText("use")
if pickup.usable == false then
useButton:setEnabled(false)
end
else
- useButton:setText("use")
- orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUnuseDetailButton_clicked")
+ useButton:setText("unuse")
if pickup.unusable == false then
useButton:setEnabled(false)
end
@@ -134,17 +132,16 @@
useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight)))
if pickup.inUse == false then
useButton:setText("use")
- orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseButton_clicked")
if pickup.usable == false then
useButton:setEnabled(false)
end
else
useButton:setText("unuse")
- orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUnuseButton_clicked")
if pickup.unusable == false then
useButton:setEnabled(false)
end
end
+ orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseUnuseButton_clicked")
item:addChildWindow(useButton)
local dropButton = winMgr:createWindow("MenuWidgets/Button", name .. "/DropButton")
@@ -239,17 +236,16 @@
useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight)))
if pickup.inUse == false then
useButton:setText("use")
- orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseDetailButton_clicked")
if pickup.usable == false then
useButton:setEnabled(false)
end
else
useButton:setText("unuse")
- orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUnuseDetailButton_clicked")
if pickup.unusable == false then
useButton:setEnabled(false)
end
end
+ orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseUnuseDetailButton_clicked")
wrapper:addChildWindow(useButton)
local dropButton = winMgr:createWindow("MenuWidgets/Button", name .. "/DropButton")
@@ -274,18 +270,16 @@
return number+1
end
-function P.InventoryUseButton_clicked(e)
+function P.InventoryUseUnuseButton_clicked(e)
local pickupIndex = P.windowToPickupHelper(e)
local pickup = P.pickupsList[pickupIndex]
- orxonox.PickupManager:getInstance():usePickup(pickup.pickup, true)
+ if pickup.inUse == false then
+ orxonox.PickupManager:getInstance():usePickup(pickup.pickup, true)
+ else
+ orxonox.PickupManager:getInstance():usePickup(pickup.pickup, false)
+ end
end
-function P.InventoryUnuseButton_clicked(e)
- local pickupIndex = P.windowToPickupHelper(e)
- local pickup = P.pickupsList[pickupIndex]
- orxonox.PickupManager:getInstance():usePickup(pickup.pickup, false)
-end
-
function P.InventoryDropButton_clicked(e)
local pickupIndex = P.windowToPickupHelper(e)
local pickup = P.pickupsList[pickupIndex]
@@ -297,18 +291,16 @@
P.createDetailsWindow(pickupIndex)
end
-function P.InventoryUseDetailButton_clicked(e)
+function P.InventoryUseUnuseDetailButton_clicked(e)
local pickupIndex = P.windowToPickupHelper(e)
local pickup = P.detailPickups[pickupIndex]
- orxonox.PickupManager:getInstance():usePickup(pickup.pickup, true)
+ if pickup.inUse == false then
+ orxonox.PickupManager:getInstance():usePickup(pickup.pickup, true)
+ else
+ orxonox.PickupManager:getInstance():usePickup(pickup.pickup, false)
+ end
end
-function P.InventoryUnuseDetailButton_clicked(e)
- local pickupIndex = P.windowToPickupHelper(e)
- local pickup = P.detailPickups[pickupIndex]
- orxonox.PickupManager:getInstance():usePickup(pickup.pickup, false)
-end
-
function P.InventoryDropDetailButton_clicked(e)
local pickupIndex = P.windowToPickupHelper(e)
local pickup = P.detailPickups[pickupIndex]
More information about the Orxonox-commit
mailing list