Skip to content

Commit

Permalink
GUI Work and Bindings
Browse files Browse the repository at this point in the history
  • Loading branch information
DanSheps committed Oct 17, 2018
1 parent 11f2632 commit acec09d
Show file tree
Hide file tree
Showing 5 changed files with 193 additions and 130 deletions.
188 changes: 99 additions & 89 deletions BeStride.lua
Expand Up @@ -42,48 +42,52 @@ local defaults = {

profile = {
settings = {
["emptyrandom"] = true, --ER
["hasmount"] = false, --HM
["enablenew"] = false, --ENABLENEW
["useflyingmount"] = false,
["forceflyingmount"] = false, --FFM
["nodismountwhileflying"] = false, --NDWF
["flyingbroom"] = false,
["telaari"] = true,
["repair"] = {
["use"] = false,
["force"] = false,
["durability"] = 20,
migrated = false,
bindingsMigrated = false,
mount = {
emptyrandom = true, --ER
hasmount = false, --HM
enablenew = false, --ENABLENEW
useflyingmount = false,
forceflyingmount = false, --FFM
nodismountwhileflying = false, --NDWF
flyingbroom = false,
telaari = true,
repair = {
use = false,
force = false,
durability = 20,
},
},
["classes"] = {
["deathknight"] = {
["wraithwalk"] = true,
classes = {
deathknight = {
wraithwalk = true,
},
["druid"] = {
["flightform"] = true,
["traveltotravel"] = false,
["flightformpriority"] = false,
["mountedtoflightform"] = false,
druid = {
flightform = true,
traveltotravel = false,
flightformpriority = false,
mountedtoflightform = false,
},
["mage"] = {
["blink"] = true,
["slowfall"] = true,
mage = {
blink = true,
slowfall = true,
},
["monk"] = {
["roll"] = true,
["zenflight"] = true,
monk = {
roll = true,
zenflight = true,
},
["paladin"] = {
["steed"] = true,
paladin = {
steed = true,
},
["priest"] = {
["levitate"] = true,
priest = {
levitate = true,
},
["rogue"] = {
["sprint"] = true,
rogue = {
sprint = true,
},
["shaman"] = {
["ghostwolf"] = true,
shaman = {
ghostwolf = true,
},
},
},
Expand Down Expand Up @@ -112,13 +116,9 @@ function BeStride:OnInitialize()
["passenger"] = nil,
}

--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")
Expand Down Expand Up @@ -152,7 +152,7 @@ function BeStride:OnEnable()
self:RegisterEvent("UPDATE_BINDINGS", "UpdateBindings")
self:RegisterEvent("NEW_MOUNT_ADDED", "NewMount")

BeStride:UpdateBindings()
--BeStride:UpdateBindings()
BeStride:Upgrade()
end

Expand All @@ -161,7 +161,7 @@ function BeStride:NewMount(...)
table.foreach(args,function (k,v) print("Arg: " .. k) end)
end

function BeStride:UpdateBindings()
function BeStride:UpdateOverrideBindings()
BeStride:SetKeyBindingsOverrides(self.buttons["regular"])
BeStride:SetKeyBindingsOverrides(self.buttons["ground"])
BeStride:SetKeyBindingsOverrides(self.buttons["passenger"])
Expand All @@ -173,47 +173,64 @@ end

function BeStride:Upgrade()
local db = LibStub("AceDB-3.0"):New("BestrideDB")
if db.profile.settings then

if self.db.profile.settings.bindingsMigrated == false then
table.foreach({BeStride_ABRegularMount,BeStride_ABGroundMount,BeStride_ABPassengerMount,BeStride_ABRepairMount},function (key,button)
BeStride_Debug:Debug("Start Set Bindings: " .. button:GetName())
local primaryKey,secondaryKey = GetBindingKey(button:GetName())
if primaryKey then
SetBindingClick(primaryKey,button:GetName())
end

if secondaryKey then
SetBindingClick(secondaryKey,button:GetName())
end
BeStride_Debug:Debug("End Set Bindings")
end)
end
self.db.profile.settings.bindingsMigrated = true

if db.profile.settings and self.db.profile.settings.migrated == false then
print("Old Settings Exist, Upgrading")

table.foreach(db.profile.settings,function (key,value)
if key == "HM" then
self.db.profile.settings.hasmount = value
self.db.profile.settings.mount.hasmount = value
elseif key == "ER" then
self.db.profile.settings.emptyrandom = value
self.db.profile.settings.mount.emptyrandom = value
elseif key == "FBP" then
self.db.profile.settings.flyingbroom = value
self.db.profile.settings.mount.flyingbroom = value
elseif key == "TTT" then
self.db.profile.settings.druid.traveltotravel = value
self.db.profile.settings.mount.druid.traveltotravel = value
elseif key == "MTFF" then
self.db.profile.settings.druid.mountedtoflightform = value
self.db.profile.settings.mount.druid.mountedtoflightform = value
elseif key == "NDWF" then
self.db.profile.settings.nodismountwhileflying = value
self.db.profile.settings.mount.nodismountwhileflying = value
elseif key == "FFM" then
self.db.profile.settings.useflyingmount = value
self.db.profile.settings.mount.useflyingmount = value
elseif key == "URM" then
self.db.profile.settings.repair.use = value
self.db.profile.settings.mount.repair.use = value
elseif key == "ENABLENEW" then
self.db.profile.settings.enablenew = value
self.db.profile.settings.mount.enablenew = value
elseif key == "TELAARI" then
self.db.profile.settings.telaari = value
self.db.profile.settings.mount.telaari = value
elseif key == "DEATHKNIGHT" then
self.db.profile.settings.deathknight.wraithwalk = value
self.db.profile.settings.classes.deathknight.wraithwalk = value
elseif key == "PALADIN" then
self.db.profile.settings.paladin.steed = value
self.db.profile.settings.classes.paladin.steed = value
elseif key == "SHAMAN" then
self.db.profile.settings.shaman.ghostwolf = value
self.db.profile.settings.classes.shaman.ghostwolf = value
elseif key == "MONK" then
self.db.profile.settings.monk.roll = value
self.db.profile.settings.classes.monk.roll = value
elseif key == "MONKZENUSE" then
self.db.profile.settings.monk.zenflight = value
self.db.profile.settings.classes.monk.zenflight = value
elseif key == "ROGUE" then
self.db.profile.settings.rogue.sprint = value
self.db.profile.settings.classes.rogue.sprint = value
elseif key == "PRIEST" then
self.db.profile.settings.levitate = value
self.db.profile.settings.classes.levitate = value
elseif key == "MAGE" then
self.db.profile.settings.mage.slowfall = value
self.db.profile.settings.mage.blink = value
self.db.profile.settings.classes.mage.slowfall = value
self.db.profile.settings.classes.mage.blink = value
end
end)

Expand All @@ -234,6 +251,8 @@ function BeStride:Upgrade()
end
end)
end

self.db.profile.settings.migrated = true
end

function BeStride:SetKeyBindings(button)
Expand Down Expand Up @@ -276,15 +295,15 @@ function BeStride:ChatCommand(input)
elseif input == "map" then
BeStride:GetMaps()
elseif input == "testpathwalk" then
print("Path: settings.emptyrandom (" .. tostring(BeStride:DBGet("settings.emptyrandom")) ..")")
BeStride:DBSet("settings.emptyrandom",false)
print("Path: settings.emptyrandom (" .. tostring(BeStride:DBGet("settings.emptyrandom")) ..")")
print("Path: settings.repair.durability (" .. tostring(BeStride:DBGet("settings.repair.durability")) ..")")
BeStride:DBSet("settings.repair.durability",50)
print("Path: settings.repair.durability (" .. tostring(BeStride:DBGet("settings.repair.durability")) ..")")
print("Path: settings.repair.dura (" .. tostring(BeStride:DBGet("settings.repair.dura")) ..")")
BeStride:DBSet("settings.repair.dura",50)
print("Path: settings.repair.dura (" .. tostring(BeStride:DBGet("settings.repair.dura")) ..")")
print("Path: settings.mount.emptyrandom (" .. tostring(BeStride:DBGet("settings.emptyrandom")) ..")")
BeStride:DBSet("settings.mount.emptyrandom",false)
print("Path: settings.mount.emptyrandom (" .. tostring(BeStride:DBGet("settings.emptyrandom")) ..")")
print("Path: settings.mount.repair.durability (" .. tostring(BeStride:DBGet("settings.repair.durability")) ..")")
BeStride:DBSet("settings.mount.repair.durability",50)
print("Path: settings.mount.repair.durability (" .. tostring(BeStride:DBGet("settings.repair.durability")) ..")")
print("Path: settings.mount.repair.dura (" .. tostring(BeStride:DBGet("settings.repair.dura")) ..")")
BeStride:DBSet("settings.mount.repair.dura",50)
print("Path: settings.mount.repair.dura (" .. tostring(BeStride:DBGet("settings.repair.dura")) ..")")
else
BeStride_GUI:Frame(input)
end
Expand Down Expand Up @@ -314,23 +333,24 @@ end
function BeStride:DBGet(path,parent)
local child,nextPath = strsplit(".",path,2)

if child ~= nil and parent ~= nil and nextPath == nil then
if parent[child] ~= nil then
return parent[child]
else
return nil
end
if child ~= nil and parent ~= nil and parent[child] ~= nil and nextPath == nil then
return parent[child]
elseif child ~= nil and parent ~= nil and parent[child] ~= nil and nextPath ~= nil then
--BeStride_Debug:Debug("Return: BeStride:DBGet(" .. nextPath .. "parent[" .. child .. "]" .. ")")
return BeStride:DBGet(nextPath,parent[child])
elseif child ~= nil and parent == nil and nextPath == nil then
--BeStride_Debug:Debug("Return: self.db.profile[child]:" .. tostring(self.db.profile[child]))
return self.db.profile[child]
elseif child ~= nil and parent == nil and nextPath ~= nil then
if self.db.profile[child] ~= nil then
--BeStride_Debug:Debug("Return: BeStride:DBGet(" .. nextPath .. ",self.db.profile[" .. child .. "]" .. ")")
return BeStride:DBGet(nextPath,self.db.profile[child])
else
BeStride_Debug:Debug("Fatal: self.db.profile[child(" .. child .. ")] == nil")
return nil
end
else
BeStride_Debug:Debug("Fatal: Unmatch")
return nil
end
end
Expand Down Expand Up @@ -369,22 +389,12 @@ function BeStride:DBSetMount(mountType,mountID,value)
self.db.profile.mounts[mountType][mountID] = value
end

function BeStride:DBGetSetting(parent,setting)
if parent and self.db.profile.settings[parent] ~= nil and self.db.profile.settings[parent][setting] ~= nil then
return self.db.profile.settings[parent][setting]
elseif self.db.profile.settings[setting] ~= nil then
return self.db.profile.settings[setting]
else
return nil
end
function BeStride:DBGetSetting(setting)
return self:DBGet("settings." .. setting)
end

function BeStride:DBSetSetting(parent,setting, value)
if parent and self.db.profile.settings[parent] ~= nil then
self.db.profile.settings[parent][setting] = value
elseif self.db.profile.settings[setting] ~= nil then
self.db.profile.settings[setting] = value
end
function BeStride:DBSetSetting(setting, value)
return self:DBSet("settings." .. setting,value)
end

function BeStride:DBGetClassSetting(parent,setting)
Expand Down
26 changes: 13 additions & 13 deletions BeStride_Constants.lua
Expand Up @@ -23,33 +23,33 @@ BeStride_Constants = {
},
Classes = {
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.DeathKnight.WraithWalk,class="deathknight",dbvalue="wraithwalk"},
{name="classes.deathknight.wraithwalk",element="CheckBox",label=BeStride_Locale.Settings.Classes.DeathKnight.WraithWalk,class="deathknight",dbvalue="wraithwalk"},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.FlightForm,class="druid",dbvalue="flightform", dependants = {"classes.druid.traveltotravel","classes.druid.flightformpriority","classes.druid.mountedtoflightform"}},
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.TravelToTravel,class="druid",dbvalue="traveltotravel", depends = {"classes.druid.flightform"}},
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.FlightFormPriority,class="druid",dbvalue="flightformpriority", depends = {"classes.druid.flightform"}},
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.MountedToFlightForm,class="druid",dbvalue="mountedtoflightform", depends = {"classes.druid.flightform"}},
{name="classes.druid.flightform",element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.FlightForm,class="druid",dbvalue="flightform", dependants = {"classes.druid.traveltotravel","classes.druid.flightformpriority","classes.druid.mountedtoflightform"}},
{name="classes.druid.traveltotravel",element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.TravelToTravel,class="druid",dbvalue="traveltotravel", depends = {"classes.druid.flightform"}},
{name="classes.druid.traveltotravel",element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.FlightFormPriority,class="druid",dbvalue="flightformpriority", depends = {"classes.druid.flightform"}},
{name="classes.druid.traveltotravel",element="CheckBox",label=BeStride_Locale.Settings.Classes.Druid.MountedToFlightForm,class="druid",dbvalue="mountedtoflightform", depends = {"classes.druid.flightform"}},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Mage.SlowFall,class="mage",dbvalue="slowfall"},
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Mage.Blink,class="mage",dbvalue="blink"},
{name="classes.mage.slowfall",element="CheckBox",label=BeStride_Locale.Settings.Classes.Mage.SlowFall,class="mage",dbvalue="slowfall"},
{name="classes.mage.blink",element="CheckBox",label=BeStride_Locale.Settings.Classes.Mage.Blink,class="mage",dbvalue="blink"},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Monk.Roll,class="monk",dbvalue="roll"},
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Monk.Roll,class="monk",dbvalue="zenflight"},
{name="classes.monk.roll",element="CheckBox",label=BeStride_Locale.Settings.Classes.Monk.Roll,class="monk",dbvalue="roll"},
{name="classes.monk.zenflight",element="CheckBox",label=BeStride_Locale.Settings.Classes.Monk.Roll,class="monk",dbvalue="zenflight"},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Paladin.DivineSteed,class="paladin",dbvalue="steed"},
{name="classes.paladin.steed",element="CheckBox",label=BeStride_Locale.Settings.Classes.Paladin.DivineSteed,class="paladin",dbvalue="steed"},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Priest.Levitate,class="priest",dbvalue="levitate"},
{name="classes.priest.levitate",element="CheckBox",label=BeStride_Locale.Settings.Classes.Priest.Levitate,class="priest",dbvalue="levitate"},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Rogue.Sprint,class="rogue",dbvalue="sprint"},
{name="classes.rogue.sprint",element="CheckBox",label=BeStride_Locale.Settings.Classes.Rogue.Sprint,class="rogue",dbvalue="sprint"},
},
{
{element="CheckBox",label=BeStride_Locale.Settings.Classes.Shaman.GhostWolf,class="shaman",dbvalue="ghostwolf"},
{name="classes.shaman.ghostwolf",element="CheckBox",label=BeStride_Locale.Settings.Classes.Shaman.GhostWolf,class="shaman",dbvalue="ghostwolf"},
},
}
}
Expand Down

0 comments on commit acec09d

Please sign in to comment.