From fa3e4ba02a2a43cae6135706619364766dfe98db Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Mon, 16 Dec 2024 16:19:44 +0100 Subject: [PATCH] Migrate camera and spellq settings --- CameraSettings.lua | 36 ++++++++++++++++++++++++++++++++++++ Cyka.lua | 5 +++++ Cyka.toc | 2 ++ SpellQSettings.lua | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+) create mode 100644 CameraSettings.lua create mode 100644 SpellQSettings.lua diff --git a/CameraSettings.lua b/CameraSettings.lua new file mode 100644 index 0000000..57a4f43 --- /dev/null +++ b/CameraSettings.lua @@ -0,0 +1,36 @@ +local addonname, shared = ... +---@cast shared CykaShared +---@cast addonname string + +---@class CameraSettings +---@field Init fun() + +shared.CameraSettings = { Init = function() end } +function shared.CameraSettings.Init() + if not shared.config.camera.enabled then + print("Cyka - Camera settings disabled") + return + end + + local function SetCameraSpeed(speed) + if not speed then return end + print("Camera speed set to " .. tostring(speed)) + SetCVar("cameraYawMoveSpeed", speed) + SetCVar("cameraPitchMoveSpeed", speed) + end + + local frame = CreateFrame("Frame") + frame:RegisterEvent("PLAYER_LOGIN") + frame:RegisterEvent("PLAYER_ENTERING_WORLD") + frame:SetScript("OnEvent", function(self, event, ...) + SetCameraSpeed(CykaPersistentData.config.camera.speed) + end) + + SlashCmdList["CAMERASETTINGS"] = function(speed) + if speed then CykaPersistentData.config.camera.speed = speed end + SetCameraSpeed(CykaPersistentData.config.camera.speed) + end + SLASH_CAMERASETTINGS1 = "/cs" + + print("Cyka - Autoloot loaded") +end diff --git a/Cyka.lua b/Cyka.lua index 23e5885..a3663dd 100644 --- a/Cyka.lua +++ b/Cyka.lua @@ -13,11 +13,16 @@ local addonname, shared = ... ---@field DumpTable fun(table: table, depth: number) ---@field TableContains fun(table: table, value: any): boolean ---@field Autoloot Autoloot +---@field CameraSettings CameraSettings +---@field SpellQSettings SpellQSettings + ---@class CykaData ---@class CykaConfig ---@field autoloot CykaAutolootConfig +---@field camera { enabled: boolean, speed: number } +---@field spellQueue { enabled: boolean, queue: number } ---@class CykaAutolootConfig ---@field enabled boolean diff --git a/Cyka.toc b/Cyka.toc index 9210201..be5bde4 100644 --- a/Cyka.toc +++ b/Cyka.toc @@ -6,5 +6,7 @@ #core Autoloot.lua +CameraSettings.lua +SpellQSettings.lua CLEUParser.lua Cyka.lua diff --git a/SpellQSettings.lua b/SpellQSettings.lua new file mode 100644 index 0000000..83b8094 --- /dev/null +++ b/SpellQSettings.lua @@ -0,0 +1,35 @@ +local addonname, shared = ... +---@cast shared CykaShared +---@cast addonname string + +---@class SpellQSettings +---@field Init fun() + +shared.SpellQSettings = { Init = function() end } +function shared.SpellQSettings.Init() + if not shared.config.spellQueue.enabled then + print("Cyka - Spell queue disabled") + return + end + + local function SetSpellQueue(window) + if not window then return end + print("Spell queue window set to " .. tostring(window)) + SetCVar("SpellQueueWindow", window) + end + + local frame = CreateFrame("Frame") + frame:RegisterEvent("PLAYER_LOGIN") + frame:RegisterEvent("PLAYER_ENTERING_WORLD") + frame:SetScript("OnEvent", function(self, event, ...) + SetSpellQueue(CykaPersistentData.config.spellQueue.queue) + end) + + SlashCmdList["SPELLQSETTINGS"] = function(window) + if window then CykaPersistentData.config.spellQueue.queue = window end + SetSpellQueue(CykaPersistentData.config.spellQueue.queue) + end + SLASH_SPELLQSETTINGS1 = "/sq" + + print("Cyka - Autoloot loaded") +end