From 95f79b45dcccaeb212b344d1ba1a650e863a10e4 Mon Sep 17 00:00:00 2001 From: Henrique Santiago Date: Fri, 25 Jan 2013 10:22:51 -0200 Subject: [PATCH] Configure default hotkey, fix map release --- modules/game_hotkeys/hotkeys_manager.lua | 21 +++++++++++++++----- modules/game_interface/widgets/uigamemap.lua | 9 ++++----- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/modules/game_hotkeys/hotkeys_manager.lua b/modules/game_hotkeys/hotkeys_manager.lua index 8d73c262..6c0d79ca 100644 --- a/modules/game_hotkeys/hotkeys_manager.lua +++ b/modules/game_hotkeys/hotkeys_manager.lua @@ -28,6 +28,7 @@ clearObjectButton = nil useOnSelf = nil useOnTarget = nil useWith = nil +defaultComboKeys = nil hotkeyList = {} -- public functions @@ -170,14 +171,24 @@ function reload() end function loadDefautComboKeys() - for i=1,12 do - addKeyCombo(nil, 'F' .. i) - end - for i=1,4 do - addKeyCombo(nil, 'Shift+F' .. i) + if not defaultComboKeys then + for i=1,12 do + addKeyCombo(nil, 'F' .. i) + end + for i=1,4 do + addKeyCombo(nil, 'Shift+F' .. i) + end + else + for keyCombo, keySettings in pairs(defaultComboKeys) do + addKeyCombo(nil, keyCombo, keySettings) + end end end +function setDefaultComboKeys(combo) + defaultComboKeys = combo +end + -- private functions function onGameStart() reload() diff --git a/modules/game_interface/widgets/uigamemap.lua b/modules/game_interface/widgets/uigamemap.lua index a4a1343d..3beb90ac 100644 --- a/modules/game_interface/widgets/uigamemap.lua +++ b/modules/game_interface/widgets/uigamemap.lua @@ -17,7 +17,7 @@ function UIGameMap:onDragEnter(mousePos) self.currentDragThing = thing g_mouse.setTargetCursor() - self.cancelNextRelease = true + self.allowNextRelease = false return true end @@ -50,12 +50,11 @@ function UIGameMap:onDrop(widget, mousePos) end function UIGameMap:onMousePress() - self.cancelNextRelease = false + self.allowNextRelease = true end function UIGameMap:onMouseRelease(mousePosition, mouseButton) - if self.cancelNextRelease then - self.cancelNextRelease = false + if not self.allowNextRelease then return true end @@ -86,7 +85,7 @@ function UIGameMap:onMouseRelease(mousePosition, mouseButton) local ret = modules.game_interface.processMouseAction(mousePosition, mouseButton, autoWalkPos, lookThing, useThing, creatureThing) if ret then - self.cancelNextRelease = true + self.allowNextRelease = false end return ret