use custom visibility driver that supports fading in addition to the simple show/hide
This commit is contained in:
@@ -289,7 +289,16 @@ local directVisCond = {
|
|||||||
}
|
}
|
||||||
function Bar:InitVisibilityDriver()
|
function Bar:InitVisibilityDriver()
|
||||||
self.hidedriver = {}
|
self.hidedriver = {}
|
||||||
UnregisterStateDriver(self, 'visibility')
|
UnregisterStateDriver(self, 'vis')
|
||||||
|
|
||||||
|
self:SetAttribute("_onstate-vis", [[
|
||||||
|
if newstate == "show" or newstate == "fade" then
|
||||||
|
self:Show()
|
||||||
|
self:SetAttribute("fade", (newstate == "fade"))
|
||||||
|
elseif newstate == "hide" then
|
||||||
|
self:Hide()
|
||||||
|
end
|
||||||
|
]])
|
||||||
|
|
||||||
if self.config.visibility.custom then
|
if self.config.visibility.custom then
|
||||||
table_insert(self.hidedriver, self.config.visibility.customdata or "")
|
table_insert(self.hidedriver, self.config.visibility.customdata or "")
|
||||||
@@ -323,12 +332,11 @@ end
|
|||||||
function Bar:ApplyVisibilityDriver()
|
function Bar:ApplyVisibilityDriver()
|
||||||
if self.unlocked then return end
|
if self.unlocked then return end
|
||||||
-- default state is shown
|
-- default state is shown
|
||||||
RegisterStateDriver(self, "visibility", table_concat(self.hidedriver, ";"))
|
RegisterStateDriver(self, "vis", table_concat(self.hidedriver, ";"))
|
||||||
end
|
end
|
||||||
|
|
||||||
function Bar:DisableVisibilityDriver()
|
function Bar:DisableVisibilityDriver()
|
||||||
UnregisterStateDriver(self, "visibility")
|
UnregisterStateDriver(self, "vis")
|
||||||
self:SetAttribute("state-visibility", nil)
|
|
||||||
self:Show()
|
self:Show()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user