Compare with Previous |
Blame |
View Log
import "Turbine.UI";
import "Turbine.UI.Lotro";
FadeSlot = class( Turbine.UI.Lotro.Quickslot );
function FadeSlot:Constructor()
Turbine.UI.Lotro.Quickslot.Constructor( self );
self:SetFadeSpeed( 0.2 );
self:SetOpacity( 1 );
end
function FadeSlot:SetFadeSpeed( value )
self.fadeSpeed = 1 / value;
end
function FadeSlot:SetOpacity( value )
self.realOpacity = value;
self.currentTime = Turbine.Engine.GetGameTime();
self.currentOpacity = Turbine.UI.Lotro.Quickslot.GetOpacity( self );
self.targetOpacity = value;
if (value > 0) then
if (Turbine.UI.Lotro.Quickslot.GetShortcut( self ) ~= self.realShortcut) then
Turbine.UI.Lotro.Quickslot.SetShortcut( self, self.realShortcut );
end
end
if ( self.targetOpacity ~= self.currentOpacity ) then
self:SetWantsUpdates( true );
end
end
function FadeSlot:Update( sender, args )
local newOpacity;
local now = Turbine.Engine.GetGameTime();
local delta = now - self.currentTime;
self.currentTime = now;
delta = delta * self.fadeSpeed;
if ( self.currentOpacity < self.targetOpacity ) then
newOpacity = self.currentOpacity + delta;
if ( newOpacity > self.targetOpacity ) then
self:SetWantsUpdates( false )
newOpacity = self.targetOpacity
if (self.realOpacity == 0 or self.realShortcut == nil) then
Turbine.UI.Lotro.Quickslot.SetShortcut( self, Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
end
end
else
newOpacity = self.currentOpacity - delta;
if ( newOpacity < self.targetOpacity ) then
self:SetWantsUpdates( false )
newOpacity = self.targetOpacity;
if (self.realOpacity == 0 or self.realShortcut == nil) then
Turbine.UI.Lotro.Quickslot.SetShortcut( self, Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
end
end
end
self.currentOpacity = newOpacity;
Turbine.UI.Lotro.Quickslot.SetOpacity( self, newOpacity );
end
function FadeSlot:SetShortcut(shortcut)
self.realShortcut = shortcut;
if (Turbine.UI.Lotro.Quickslot.GetShortcut( self ) ~= self.realShortcut) then
Turbine.UI.Lotro.Quickslot.SetShortcut( self, self.realShortcut );
end
end
Compare with Previous |
Blame
All times are GMT -5. The time now is 11:43 PM.