Skip to content

Commit

Permalink
More GUI Work
Browse files Browse the repository at this point in the history
  • Loading branch information
DanSheps committed Oct 16, 2018
1 parent 744e4c2 commit 5d90a4d
Show file tree
Hide file tree
Showing 10 changed files with 227 additions and 137 deletions.
87 changes: 52 additions & 35 deletions BeStride.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,29 @@ debugLevel = 8

playerTable = {}

function sortTable(unsortedTable)
keys = {}
sortedTable = {}
for key in pairs(unsortedTable) do table.insert(keys,key) end
table.sort(keys)
for _,key in ipairs(keys) do sortedTable[key] = unsortedTable[key] end
return sortedTable
end

function pairsByKeys (t, f)
local a = {}
for n in pairs(t) do table.insert(a, n) end
table.sort(a, f)
local i = 0 -- iterator variable
local iter = function () -- iterator function
i = i + 1
if a[i] == nil then return nil
else return a[i], t[a[i]]
end
end
return iter
end

mountTable = {
["master"] = {},
["ground"] = {},
Expand All @@ -21,25 +44,22 @@ local defaults = {
["emptyrandom"] = true,
["hasmount"] = false,
["enablenew"] = false,
["traveltotravel"] = false,
["forceflyingmount"] = false,
["nodismountwhileflying"] = false,
["flyingbroom"] = false,
["telaari"] = true,
["repair"] = {
["use"] = false,
["force"] = false,
["durability"] = 0.2,
},
["priorities"] = {
["flyingbroom"] = false,
["repairmount"] = true,
["telaari"] = true
},
["classes"] = {
["deathknight"] = {
["wraithwalk"] = true,
},
["druid"] = {
["flightform"] = true,
["traveltotravel"] = false,
["flightformpriority"] = false,
["mountedtoflightform"] = false,
},
Expand Down Expand Up @@ -77,10 +97,14 @@ function BeStride:OnInitialize()
["passenger"] = nil,
}

self.buttons["mount"] = BeStride_ABMountMount
self.buttons["ground"] = BeStride_ABGroundMount
self.buttons["repair"] = BeStride_ABRepairMount
self.buttons["passenger"] = BeStride_ABPassengerMount
--self.buttons["mount"] = BeStride_ABMountMount
self.buttons["regular"] = BeStride:CreateActionButton('Regular')
--self.buttons["ground"] = BeStride_ABGroundMount
self.buttons["ground"] = BeStride:CreateActionButton('Ground')
--self.buttons["repair"] = BeStride_ABRepairMount
self.buttons["repair"] = BeStride:CreateActionButton('Repair')
--self.buttons["passenger"] = BeStride_ABPassengerMount
self.buttons["passenger"] = BeStride:CreateActionButton('Passenger')

local className,classFilename,classID = UnitClass("player")
local raceName,raceFile,raceID = UnitRace("player")
Expand Down Expand Up @@ -117,33 +141,20 @@ end

function BeStride:OnEnable()
BeStride:buildMountTables()
BeStride:SetBindings()
BeStride:SetBindings(self.buttons["regular"])
BeStride:SetBindings(self.buttons["ground"])
BeStride:SetBindings(self.buttons["passenger"])
BeStride:SetBindings(self.buttons["repair"])
end

function BeStride:SetBindings()
BeStride_Debug:Debug("Start Set Bindings")
ClearOverrideBindings(BeStride_ABMountMount)
local ABMountKey = GetBindingKey("BeStride_ABMountMount")
if ABMountKey then
SetOverrideBindingClick(BeStride_ABMountMount, true, ABMountKey, BeStride_ABMountMount:GetName())
end
function BeStride:SetBindings(button)
BeStride_Debug:Debug("Start Set Bindings: " .. button:GetName())
ClearOverrideBindings(button)
local mountKey = GetBindingKey(button:GetName())

ClearOverrideBindings(BeStride_ABGroundMount)
local ABGroundKey = GetBindingKey("BeStride_ABGroundMount")
if ABGroundKey then
SetOverrideBindingClick(BeStride_ABGroundMount, true, ABGroundKey, BeStride_ABGroundMount:GetName())
end

ClearOverrideBindings(BeStride_ABRepairMount)
local ABRepairKey = GetBindingKey("BeStride_ABRepairMount")
if ABRepairKey then
SetOverrideBindingClick(BeStride_ABRepairMount, true, ABRepairKey, BeStride_ABRepairMount:GetName())
end

ClearOverrideBindings(BeStride_ABPassengerMount)
local ABPassengerKey = GetBindingKey("BeStride_ABPassengerMount")
if ABRepaidKey then
SetOverrideBindingClick(BeStride_ABPassengerMount, true, ABRepaidKey, BeStride_ABPassengerMount:GetName())
if mountKey then
print("Key: " .. mountKey .. " Set!")
SetOverrideBindingClick(button, true, mountKey, button:GetName())
end
BeStride_Debug:Debug("End Set Bindings")
end
Expand Down Expand Up @@ -186,7 +197,7 @@ function BeStride:ChatCommand(input)
self.buttons["mount"]:Click("left")
self.buttons["mount"]:PostClick()
else
BeStride_GUI:Frame()
BeStride_GUI:Frame(input)
end
end

Expand Down Expand Up @@ -225,6 +236,12 @@ function BeStride:DBSetMount(mountID,value)
self.db.profile.mounts[mountID] = value
end

function BeStride:DBGetSetting(setting)
end

function BeStride:DBSetSetting(setting)
end

function BeStride:buildMountTables()
BeStride:BuildMasterMountTable()
BeStride:LoadMountTables()
Expand Down
2 changes: 1 addition & 1 deletion BeStride.toc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
## SavedVariables: BestrideDB

BeStride_Debug.lua
BeStride.xml
## BeStride.xml

libs\LibStub\LibStub.lua
libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
Expand Down
4 changes: 2 additions & 2 deletions BeStride.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ ..\FrameXML\UI.xsd">

<Button name="BeStride_ABMountMount" inherits="SecureActionButtonTemplate" parent="UIParent">
<Button name="BeStride_ABRegularMount" inherits="SecureActionButtonTemplate" parent="UIParent">
<Attributes>
<Attribute name="type" type="string" value="macro"/>
</Attributes>
<Scripts>
<PreClick>
BeStride_ActionButtonMount:PreClick()
BeStride_ActionButtonRegularMount:PreClick()
</PreClick>
</Scripts>
</Button>
Expand Down
64 changes: 35 additions & 29 deletions BeStride_ActionButton.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
BeStride_ActionButtonMount = {}
BeStride_ActionButtonRegularMount = {}
BeStride_ActionButtonGroundMount = {}
BeStride_ActionButtonPassengerMount = {}
BeStride_ActionButtonRepairMount = {}
Expand All @@ -9,31 +9,21 @@ function BeStride:CreateActionButton(buttontype)

local br = CreateFrame("Button", name, UIParent, "SecureActionButtonTemplate,ActionButtonTemplate")
br:SetAttribute("type","macro")
br:SetAttribute("type1", "macro")
br:SetAttribute("macrotext","/script print('Test')")
br:SetAttribute("macrotext",nil)

if buttontype == "Mount" then
--Mixin(br, BeStride_ActionButtonMount)
BeStride_Debug:Debug("Setting Binding")
SetBindingClick("Middle Mouse", br:GetName() )
SetBindingClick("F12", br:GetName() )
br:SetSize(64 ,64)
br:SetPoint("CENTER")
elseif buttontype == "GroundMount" then
if buttontype == "Regular" then
Mixin(br, BeStride_ActionButtonRegularMount)
elseif buttontype == "Ground" then
Mixin(br, BeStride_ActionButtonGroundMount)
elseif buttontype == "RepairMount" then
elseif buttontype == "Repair" then
Mixin(br, BeStride_ActionButtonRepairMount)
elseif buttontype == "PassengerMount" then
elseif buttontype == "Passenger" then
Mixin(br, BeStride_ActionButtonPassengerMount)
end

br.id = buttontype
br:SetScript("PreClick",function(self)
BeStride_ActionButtonMount:PreClick()
end)
br:SetScript("PostClick",function(self)
BeStride_ActionButtonMount:PostClick()
end)
br:SetScript("PreClick",function (self) self:PreClick() end )
br:SetScript("PostClick",self.PostClick)
--SaveBindings(GetCurrentBindingSet())
if br then
print("Returning: " .. br:GetName())
Expand All @@ -48,21 +38,22 @@ end
-- +-------+ --

-- Action Button Wrapper
function BeStride_ActionButtonMount:PreClick()
function BeStride_ActionButtonRegularMount:PreClick()
--if BeStride_Logic:IsCombat() then
-- return
--end

BeStride_Logic:MountButton()
local mount = BeStride_Logic:MountButton()
self:SetAttribute("macrotext",mount)
end

-- Action Button Cleanup
function BeStride_ActionButtonMount:PostClick()
function BeStride_ActionButtonRegularMount:PostClick()
if BeStride_Logic:IsCombat() then
return
end

BeStride_ABMountMount:SetAttribute("macrotext", nil)
BeStride_ABRegularMount:SetAttribute("macrotext", nil)
end


Expand All @@ -76,12 +67,17 @@ function BeStride_ActionButtonGroundMount:PreClick()
return
end

BeStride_Logic:GroundMountButton()
local mount = BeStride_Logic:GroundMountButton()
self:SetAttribute("macrotext",mount)
end

-- Action Button Cleanup
function BeStride_ActionButtonGroundMount:PostClick()

if BeStride_Logic:IsCombat() then
return
end

BeStride_ABRegularMount:SetAttribute("macrotext", nil)
end


Expand All @@ -95,12 +91,17 @@ function BeStride_ActionButtonPassengerMount:PreClick()
return
end

BeStride_Logic:PassengerMountButton()
local mount = BeStride_Logic:PassengerMountButton()
self:SetAttribute("macrotext",mount)
end

-- Action Button Cleanup
function BeStride_ActionButtonPassengerMount:PostClick()

if BeStride_Logic:IsCombat() then
return
end

BeStride_ABRegularMount:SetAttribute("macrotext", nil)
end


Expand All @@ -114,10 +115,15 @@ function BeStride_ActionButtonRepairMount:PreClick()
return
end

BeStride_Logic:RepairMountButton()
local mount = BeStride_Logic:RepairMountButton()
self:SetAttribute("macrotext",mount)
end

-- Action Button Cleanup
function BeStride_ActionButtonRepairMount:PostClick()

if BeStride_Logic:IsCombat() then
return
end

BeStride_ABRegularMount:SetAttribute("macrotext", nil)
end
34 changes: 27 additions & 7 deletions BeStride_Constants.lua
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
version = "0.5.0"
author = "Anaximander"

Bestride_Constants = {}
Bestride_Constants.spells = {}
Bestride_Constants.spells.druid = {}
BeStride_Constants = {
Settings = {
Mount = {
EnableNew = {element="CheckBox",label=BeStride_Locale.Settings.EnableNew,dbvalue="enablenew"},
EmptyRandom = {element="CheckBox",label=BeStride_Locale.Settings.EmptyRandom,dbvalue="emptyrandom"},
NoDismountWhileFlying = {element="CheckBox",label=BeStride_Locale.Settings.NoDismountWhileFlying,dbvalue="nodismountwhileflying"},
ForceFlyingMount = {element="CheckBox",label=BeStride_Locale.Settings.ForceFlyingMount,dbvalue="forceflyingmount"},
FlyingBroom = {element="CheckBox",label=BeStride_Locale.Settings.FlyingBroom,dbvalue="flyingbroom"},
Telaari = {element="CheckBox",label=BeStride_Locale.Settings.Telaari,dbvalue="telaari"},
Repair = {
element="Group",
dbvalue="repair",
children={
Use = {element="CheckBox",label=BeStride_Locale.Settings.Repair.Use,dbvalue="use"},
Force = {element="CheckBox",label=BeStride_Locale.Settings.Repair.Repair,dbvalue="force"},
Durability = {element="CheckBox",label=BeStride_Locale.Settings.Repair.Durability,dbvalue="durability"}
}
}
}
}
}
BeStride_Constants.spells = {}
BeStride_Constants.spells.druid = {}

mountData = {
[25953] = {
Expand Down Expand Up @@ -223,7 +243,7 @@ ridingSkill = {
},
}

Bestride_Constants.spells.druid.catform = 783
Bestride_Constants.spells.druid.aquaticform = 783
Bestride_Constants.spells.druid.travelform = 783
Bestride_Constants.spells.druid.flightform = 783
BeStride_Constants.spells.druid.catform = 783
BeStride_Constants.spells.druid.aquaticform = 783
BeStride_Constants.spells.druid.travelform = 783
BeStride_Constants.spells.druid.flightform = 783
Loading

0 comments on commit 5d90a4d

Please sign in to comment.