WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Lua/XML Help (https://www.wowinterface.com/forums/forumdisplay.php?f=16)
-   -   Create ActionBars using LibActionButton-1.0 (https://www.wowinterface.com/forums/showthread.php?t=58151)

Lybrial 08-14-20 11:17 PM

Create ActionBars using LibActionButton-1.0
 
Im trying to use LibActionButton-1.0 to create action bars.
I get the problems that all actionbars are showing the exact same spells.

Code first:

Lua Code:
  1. LybrialActionBars.customExitButton = {
  2.     func = function()
  3.         if (UNITS:UnitExists("vehicle")) then
  4.             VehicleExit();
  5.         else
  6.             PetDismiss();
  7.         end
  8.     end,
  9.     texture = [[Interface\Icons\Spell_Shadow_SacrificialShield]],
  10.     tooltip = _G.LEAVE_VEHICLE,
  11. }
  12.  
  13. function LybrialActionBars:SetupBars()
  14.     TABLES:ForEach(self.db.profile.bars, function(index, bar)
  15.         local frameName = ADDON_NAME .. "_" .. index .. "_Frame";
  16.  
  17.         if (bar.enabled and (self.bars[frameName] == nil)) then
  18.             local dbPosition = self.db.profile.bars[index].layout.container.position;
  19.             local defaultPosition = defaults.profile.bars[index].layout.container.position;
  20.             local path = "bars," .. index;
  21.  
  22.             self.bars[frameName] = FRAMES:CreateFrame("Frame", frameName, FRAMES.UIParent, "SecureHandlerStateTemplate", true, LOCALE["ACTION_BAR"], self.db, dbPosition, defaultPosition, path);
  23.             self.bars[frameName]:SetFrameStrata("LOW");
  24.             self.bars[frameName]:SetFrameRef("MainMenuBarArtFrame", _G.MainMenuBarArtFrame);
  25.             self.bars[frameName].id = index;
  26.             self.bars[frameName].buttons = {};
  27.             self.bars[frameName].buttonsBind = self.db.profile.bars[index].buttons.bind;
  28.             self.bars[frameName].buttonsConfig = {};
  29.             self.bars[frameName].db = self.db.profile.bars[index];
  30.             self.bars[frameName]:CreateTemplateBackdrop();
  31.         end
  32.     end);
  33. end
  34.  
  35. function LybrialActionBars:UpdateBars()
  36.     TABLES:ForEach(self.bars, function(_, bar)
  37.         LAYOUT:Setup(bar, bar.buttons, bar.db.layout, bar.db.buttons.max);
  38.         VISIBILITY:UnregisterFrame(bar);
  39.         VISIBILITY:RegisterFrame(bar, bar.db.layout.container.visibility);
  40.     end);
  41. end
  42.  
  43. function LybrialActionBars:SetupButtons()
  44.     TABLES:ForEach(self.bars, function(_, bar)
  45.         for i = 1, 12 do
  46.             bar.buttons[i] = ACTION_BUTTON:CreateButton(i, STRINGS:Format(bar:GetName() .. "_Button_%d", i), bar, nil);
  47.             bar.buttons[i]:SetState(0, "action", i);
  48.  
  49.             for k = 1, 14 do
  50.                 bar.buttons[i]:SetState(k, "action", ((k - 1) * 12) + i);
  51.             end
  52.  
  53.             if i == 12 then
  54.                 bar.buttons[i]:SetState(12, "custom", LybrialActionBars.customExitButton);
  55.             end
  56.         end
  57.     end);
  58. end
  59.  
  60. function LybrialActionBars:UpdateButtons()
  61.     TABLES:ForEach(self.bars, function(_, bar)
  62.         TABLES:ForEach(bar.buttons, function(index, button)
  63.             bar.buttonsConfig.keyBoundTarget = STRINGS:Format(bar.buttonsBind .. "%d", index);
  64.  
  65.             button.keyBoundTarget = bar.buttonsConfig.keyBoundTarget;
  66.             button:SetAttribute("checkselfcast", true);
  67.             button:SetAttribute("checkfocuscast", true);
  68.             button:UpdateConfig(bar.buttonsConfig);
  69.         end);
  70.     end);
  71. end

Create the action bars this way results in the following:



The shortcuts are showing the correct values but the macro text and spells are all the same on each bar.
Does anyone has experience with that library and can tell me what im doing wrong?

Lybrial 08-19-20 09:31 AM

I need to handle the state of each bar. Has nothing todo with LibActionButton. Thx.


All times are GMT -6. The time now is 08:56 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI