You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.7 KiB
67 lines
1.7 KiB
local _, addon = ...
|
|
|
|
local ag = addon.CreateActionGroup("EquipmentOption");
|
|
ag.repeatInterval = 0.125;
|
|
|
|
ag:SetButtonDescription("A", "Select");
|
|
ag:SetButtonDescription("B", "Return");
|
|
|
|
function ag:Init()
|
|
self.frame = Narci_EquipmentOption;
|
|
self.meunButtons = self.frame.meunButtons;
|
|
self.menuIndex = 1;
|
|
end
|
|
|
|
function ag:PlaceButtonNote()
|
|
if self.currentObj then
|
|
self.pad1 = addon.GamePadButtonPool:SetupButton("PAD1", "", self.currentObj, "RIGHT", self.currentObj, "RIGHT", -8, 0);
|
|
end
|
|
end
|
|
|
|
function ag:Navigate(x, y)
|
|
local hold, propagate;
|
|
if y > 0 then
|
|
if self.menuIndex > 1 then
|
|
self.menuIndex = self.menuIndex - 1;
|
|
hold = true;
|
|
end
|
|
elseif y < 0 then
|
|
if self.menuIndex < self.menuMaxIndex then
|
|
self.menuIndex = self.menuIndex + 1;
|
|
hold = true;
|
|
end
|
|
end
|
|
local obj = self.meunButtons[self.menuIndex];
|
|
self:Enter(obj);
|
|
self:PlaceButtonNote();
|
|
|
|
return hold, propagate
|
|
end
|
|
|
|
function ag:KeyDown(key)
|
|
if key == "PAD1" then
|
|
if self.currentObj then
|
|
self.currentObj:Click();
|
|
end
|
|
elseif key == "PAD2" then
|
|
self.frame:CloseUI();
|
|
end
|
|
end
|
|
|
|
function ag:OnActiveCallback(resetIndex)
|
|
self.menuMaxIndex = self.frame:GetNumActiveButtons();
|
|
if resetIndex then
|
|
self.menuIndex = 1;
|
|
else
|
|
if self.menuIndex > self.menuMaxIndex then
|
|
self.menuIndex = self.menuMaxIndex;
|
|
end
|
|
end
|
|
self:Enter(self.meunButtons[self.menuIndex]);
|
|
self:PlaceButtonNote();
|
|
addon.GamePadNavBar:SelectButtonByID(1);
|
|
end
|
|
|
|
function ag:ResetNavigation()
|
|
self.pad1 = nil;
|
|
end
|