@ -3,10 +3,21 @@ local Tinkr, Bastion = ...
---@class Environment
---@class Environment
local Environment = { }
local Environment = { }
Environment.__index = Environment
Environment.__index = Environment
local C_Spell = C_Spell or nil
local C_Item = C_Item or nil
local C_Var = C_Var or nil
local C_Timer = C_Timer or nil
local C_Var = C_Var or nil
local Cvar = Cvar or nil
local GetItemInfo = GetItemInfo or nil
local GetSpellInfo = GetSpellInfo or nil
local IsSpellInRange = IsSpellInRange or nil
local GetCvar = GetCvar or nil
local SetCvar = SetCvar or nil
local buildNum = select ( 4 , GetBuildInfo ( ) )
local buildNum = select ( 4 , GetBuildInfo ( ) )
local buildName = " CLASSIC "
local buildName = " CLASSIC "
if buildNum > 100000 then
if buildNum > 11 0000 then
buildName = " RETAIL "
buildName = " RETAIL "
elseif buildNum > 40000 then
elseif buildNum > 40000 then
buildName = " CATA "
buildName = " CATA "
@ -45,14 +56,14 @@ if C_Timer == nil then
end
end
function Environment : GetCVar ( name )
function Environment : GetCVar ( name )
if C_Var and C_Cvar.GetCvar then return C_Cv ar.GetCvar ( name ) end
if C_Var and C_Var.GetCvar then return C_V ar.GetCvar ( name ) end
if Cvar then return GetCvar ( name ) end
if Cvar then return GetCvar ( name ) end
Bastion : Debug ( " [GetCvar] failed " )
Bastion : Debug ( " [GetCvar] failed " )
return nil
return nil
end
end
function Environment : SetCVar ( name , value )
function Environment : SetCVar ( name , value )
if C_Var and C_Cvar.SetCvar then return C_Cv ar.SetCvar ( name , value ) end
if C_Var and C_Var.SetCvar then return C_V ar.SetCvar ( name , value ) end
if Cvar then return SetCvar ( name , value ) end
if Cvar then return SetCvar ( name , value ) end
Bastion : Debug ( " [SetCvar] failed " )
Bastion : Debug ( " [SetCvar] failed " )
return nil
return nil
@ -78,4 +89,12 @@ function Environment:GetSpellInfo(spellId)
return nil
return nil
end
end
function Environment : IsSpellInRange ( spellId , spellType , unit )
if spellId == nil then return nil end
if C_Spell and C_Spell.IsSpellInRange then return C_Spell.IsSpellInRange ( spellId , spellType , unit ) end
if IsSpellInRange then return IsSpellInRange ( spellId , spellType , unit ) end
Bastion : Debug ( " [IsSpellInRange] failed " )
return nil
end
return Environment
return Environment