68 lines
3.2 KiB
Lua
68 lines
3.2 KiB
Lua
local file = assert(io.open("ui.lua","r"))
|
|
local source = file:read("*a"); file:close()
|
|
Cursive = {db={profile={classicmenu=true}}}
|
|
local function frame()
|
|
return {
|
|
SetBackdrop=function(self,v) self.backdrop=v end,
|
|
SetBackdropColor=function(self,r,g,b,a) self.backgroundAlpha=a end,
|
|
SetBackdropBorderColor=function(self,r,g,b,a) self.r=r; self.g=g end,
|
|
SetHeight=function(self,v) self.height=v end,
|
|
SetTexture=function(self,r,g,b,a) self.textureAlpha=a end,
|
|
SetVertexColor=function(self,r,g,b,a) self.tintR=r; self.tintG=g end,
|
|
Show=function(self) self.shown=true end,
|
|
Hide=function(self) self.shown=false end,
|
|
}
|
|
end
|
|
ShaguTweaks={GoldMode=true}
|
|
GameTooltip={GetBackdropBorderColor=function() return .8,.62,.32,1 end}
|
|
CursiveSettingsWindow=frame()
|
|
CursiveSettingsWindow.titleBar=frame()
|
|
CursiveSettingsWindow.classicHeader=frame()
|
|
CursiveSettingsWindow.menuFill=frame()
|
|
local start=assert(string.find(source,"local function ThemeBorder",1,true))
|
|
local finish=assert(string.find(source,"local utils = Cursive.utils",start,true))
|
|
assert(loadstring(string.sub(source,start,finish-1)))()
|
|
Cursive.db.profile.menuopacity=60
|
|
Cursive.ApplyMenuStyle()
|
|
assert(CursiveSettingsWindow.backgroundAlpha==.6)
|
|
assert(CursiveSettingsWindow.menuFill.textureAlpha==.6)
|
|
assert(CursiveSettingsWindow.classicHeader.tintR==.8)
|
|
assert(CursiveSettingsWindow.r==.8)
|
|
assert(CursiveSettingsWindow.titleBar.backdrop==nil)
|
|
assert(CursiveSettingsWindow.classicHeader.shown)
|
|
Cursive.db.profile.menuopacity=100
|
|
Cursive.ApplyMenuStyle()
|
|
assert(CursiveSettingsWindow.menuFill.textureAlpha==1)
|
|
Cursive.db.profile.classicmenu=false
|
|
Cursive.ApplyMenuStyle()
|
|
assert(CursiveSettingsWindow.r==.25)
|
|
assert(not CursiveSettingsWindow.classicHeader.shown)
|
|
assert(CursiveSettingsWindow.titleBar.backdrop)
|
|
local retired=frame(); function retired:IsShown() return true end
|
|
ui={unitFrames={{retired}},flashingCurseIcons={[{}]=3}}
|
|
function GetUIFont() return "font" end
|
|
function UpdateRootBarFrame() end
|
|
function Cursive:ScheduleEvent(name,fn,delay) self.delay=delay; self.scheduled=fn end
|
|
start=assert(string.find(source,"Cursive.UpdateFramesFromConfig = function()",1,true))
|
|
finish=assert(string.find(source,"ui.BarEnter = function()",start,true))
|
|
assert(loadstring(string.sub(source,start,finish-1)))()
|
|
Cursive.UpdateFramesFromConfig()
|
|
assert(Cursive.delay==.1)
|
|
Cursive.scheduled()
|
|
assert(next(ui.unitFrames)==nil)
|
|
assert(next(ui.flashingCurseIcons)==nil)
|
|
print("Menu style and resize refresh tests passed")
|
|
local start = assert(string.find(source,"local function UpdateEliteDragon",1,true))
|
|
local finish = assert(string.find(source,"ui.BarUpdate = function()",start,true))
|
|
local updateDragon = assert(loadstring(string.sub(source,start,finish-1).." return UpdateEliteDragon"))()
|
|
local dragon = frame()
|
|
function dragon:SetTexture(path) self.texture=path end
|
|
function dragon:SetDesaturated(value) self.silver=value end
|
|
local bar={eliteDragon=dragon}
|
|
updateDragon(bar,"elite"); assert(dragon.shown and string.find(dragon.texture,"Elite"))
|
|
updateDragon(bar,"rareelite"); assert(dragon.shown and dragon.silver)
|
|
updateDragon(bar,"worldboss"); assert(dragon.shown)
|
|
updateDragon(bar,"normal"); assert(not dragon.shown)
|
|
updateDragon(bar,"rare"); assert(not dragon.shown)
|
|
updateDragon({},"elite")
|
|
print("Elite dragon and opacity tests passed") |