summaryrefslogtreecommitdiffhomepage
path: root/menu.lua
diff options
context:
space:
mode:
Diffstat (limited to 'menu.lua')
-rw-r--r--menu.lua17
1 files changed, 12 insertions, 5 deletions
diff --git a/menu.lua b/menu.lua
index 738a1d1..29daa90 100644
--- a/menu.lua
+++ b/menu.lua
@@ -90,14 +90,18 @@ function Menu:getSelectorsLocked()
return t
end
--- Tests if Control set is assigned to any selector
+-- Tests if Control set is assigned to any selector (1.) and if it is locked (2.)
function Menu:isSetUsed(set)
for k,selector in pairs(self:getSelectorsActive()) do
if selector:getControlSet() == set then
- return true
+ if selector:getState() == 2 then
+ return true, true
+ else
+ return true, false
+ end
end
end
- return false
+ return false, false
end
-- Header get bounce move
@@ -175,11 +179,12 @@ end
-- Controller callbacks
function Menu:controlpressed(set, action, key)
+ local used, locked = self:isSetUsed(set)
-- Pass to active selectors
for k,selector in pairs(self:getSelectorsActive()) do
selector:controlpressed(set, action, key)
end
- if not self:isSetUsed(set) then
+ if not used then
if action == "attack" then
self:getSelectorsInactive()[1]:assignControlSet(set)
end
@@ -201,7 +206,9 @@ function Menu:controlpressed(set, action, key)
end
-- speed up the countdown
if action ~= "jump" then
- self:countdownJump() -- that's funny isn't it? if not jump then jump
+ if set == nil or locked then
+ self:countdownJump() -- that's funny isn't it? if not jump then jump
+ end
end
end
function Menu:controlreleased(set, action, key)