--[[ Author: Jarth Filename: CBs_Bindings.lua ]] -- ------------------------------------------------------------------------------------------------- -- VARIABLES -- ------------------------------------------------------------------------------------------------- local base = CollectionBars local texts = base.Texts ------------------------------------------------------------------------------------------------- -- FUNCTIONS -- ------------------------------------------------------------------------------------------------- function CBs_ShowSettings() base:ToggleEnableSettings(base.ShowSettings()) end function CBs_Clicked(keyId) base:Debug("CBs_Clicked", keyId) local control = base.WM:GetMouseOverControl() local collectibleId = base.Saved.Bindings[keyId] if control ~= nil and control.CBs then local newCId = control:GetId() local previousCId = collectibleId if previousCId ~= newCId then for _keyId, cid in ipairs(base.Saved.Bindings) do if _keyId ~= keyId and cid == newCId then base.Saved.Bindings[_keyId] = 0 end end for cid, _keyId in pairs(base.Global.ReverseBindings) do if cid ~= newCId and _keyId == keyId then base.Global.ReverseBindings[cid] = nil base:SetBindingText(cid) end end base.Saved.Bindings[keyId] = newCId base.Global.ReverseBindings[newCId] = keyId base:SetBindingText(newCId) end elseif collectibleId > 0 then if base.AllButtons[collectibleId] then base:Activate(base.AllButtons[collectibleId]) else UseCollectible(collectibleId) end end end function base:SetBindingText(cid) base:Debug("SetBindingText", cid) if base.AllButtons[cid] then base.AllButtons[cid]:SetBindingText(base.Saved.Bindings.Show, cid) end end function base:InitializeBindings() base:Debug("InitializeBindings") ZO_CreateStringId(string.format(texts.FormatBindingName, "Settings"), "Settings") for key, _ in ipairs(base.Saved.Bindings) do ZO_CreateStringId(string.format(texts.FormatBindingName, key), string.format(texts.FormatAbbreviationLowDash, key)) end end function base:InitializeReverseBinding() base:Debug("InitializeReverseBinding") for keyId, collectibleId in ipairs(base.Saved.Bindings) do if collectibleId > 0 then base.Global.ReverseBindings[collectibleId] = keyId end end end