---@type Tinkr local Tinkr, ---@class Bastion Bastion = ... ---@class Bastion.Util local Util = {} ---@enum (key) CompareThisTable local compareThisTable = { [">"] = function(A, B) return A > B end, ["<"] = function(A, B) return A < B end, [">="] = function(A, B) return A >= B end, ["<="] = function(A, B) return A <= B end, ["=="] = function(A, B) return A == B end, ["min"] = function(A, B) return A < B end, ["max"] = function(A, B) return A > B end, } ---@generic A ---@param operator CompareThisTable ---@param a A ---@param b A function Util:CompareThis(operator, a, b) end local PrintEnabled = false function Util:Print(...) if not PrintEnabled then return end local args = { ... } local str = "|cFFDF362D[Bastion]|r |cFFFFFFFF" for i = 1, #args do str = str .. tostring(args[i]) .. " " end print(str) end function Util:TogglePrint() PrintEnabled = not PrintEnabled if PrintEnabled then Util:Print("Enabled") else Util:Print("Disabled") end end function Util:GetPrintMode() return PrintEnabled end local DebugMode = false function Util:ToggleDebug() DebugMode = not DebugMode if DebugMode then Util:Print("Debug mode enabled") else Util:Print("Debug mode disabled") end end function Util:GetDebugMode() return DebugMode end function Util:Debug(...) if not DebugMode then return end local args = { ... } local str = "|cFFDF6520[Bastion]|r |cFFFFFFFF" for i = 1, #args do str = str .. tostring(args[i]) .. " " end print(str) end Bastion.Util = Util