lotrointerface.com
Search Downloads

LoTROInterface SVN SequenceBars

[/] [trunk/] [Thurallor/] [SequenceBars/] [Gears.lua] - Blame information for rev 47

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 43 Thurallor-7095
Gears = class(Slot);
2 Thurallor-7095
 
3 Thurallor-7095
function Gears:Constructor(running)
4 Thurallor-7095
    Turbine.UI.Control.Constructor(self);
5 Thurallor-7095
    self:SetMouseVisible(false);
6 Thurallor-7095
    self:SetSize(36, 36);
7 Thurallor-7095
--    self:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
8 Thurallor-7095
    self:SetZOrder(1);
9 Thurallor-7095
    self:SetMouseVisible(false);
10 Thurallor-7095
 
11 Thurallor-7095
    local outer = Turbine.UI.Control();
12 Thurallor-7095
    outer:SetParent(self);
13 Thurallor-7095
    outer:SetSize(32, 32);
14 Thurallor-7095
    outer:SetPosition(3, 3);
15 Thurallor-7095
 
16 Thurallor-7095
    local inner = Turbine.UI.Control();
17 Thurallor-7095
    inner:SetParent(outer);
18 Thurallor-7095
    inner:SetSize(288, 32);
19 Thurallor-7095
    inner:SetBackground(resources.Gears);
20 Thurallor-7095
    inner:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
21 Thurallor-7095
    self.background = inner;
22 Thurallor-7095
 
23 Thurallor-7095
    local overlay = Turbine.UI.Control();
24 Thurallor-7095
    overlay:SetParent(outer);
25 Thurallor-7095
    overlay:SetBlendMode(Turbine.UI.BlendMode.Overlay);
26 Thurallor-7095
    overlay:SetSize(32, 32);
27 Thurallor-7095
    function overlay.MouseEnter()
28 Thurallor-7095
        DoCallbacks(self, "MouseEnter");
29 Thurallor-7095
    end
30 Thurallor-7095
    function overlay.MouseLeave()
31 Thurallor-7095
        DoCallbacks(self, "MouseLeave");
32 Thurallor-7095
    end
33 Thurallor-7095
    function overlay.MouseClick(sender, args)
34 Thurallor-7095
        DoCallbacks(self, "MouseClick", args);
35 Thurallor-7095
    end
36 Thurallor-7095
    self.overlay = overlay;
37 Thurallor-7095
 
38 Thurallor-7095
    self:SetRunning(running);
39 Thurallor-7095
end
40 Thurallor-7095
 
41 Thurallor-7095
function Gears:SetRunning(running)
42 Thurallor-7095
    self.running = running;
43 Thurallor-7095
    self:SetWantsUpdates(running);
44 Thurallor-7095
    self:UpdateOverlay();
45 Thurallor-7095
end
46 Thurallor-7095
 
47 Thurallor-7095
function Gears:SetParent(parent)
48 Thurallor-7095
    if (self.parent ~= parent) then
49 Thurallor-7095
        self.parent = parent;
50 Thurallor-7095
        Turbine.UI.Control.SetParent(self, parent);
51 Thurallor-7095
    end
52 Thurallor-7095
end
53 Thurallor-7095
 
54 Thurallor-7095
function Gears:SetDelaying(delaying)
55 Thurallor-7095
    self.delaying = delaying;
56 Thurallor-7095
end
57 Thurallor-7095
 
58 Thurallor-7095
function Gears:Update()
59 Thurallor-7095
    if (not self.delaying) then
60 Thurallor-7095
        local left = -self.background:GetLeft();
61 Thurallor-7095
        left = (left + 32) % 288;
62 Thurallor-7095
        self.background:SetLeft(-left);
63 Thurallor-7095
        DoCallbacks(self, "Tick");
64 Thurallor-7095
    end
65 Thurallor-7095
end
66 Thurallor-7095
 
67 Thurallor-7095
function Gears:UpdateOverlay()
68 Thurallor-7095
    if (self.mouseInside) then
69 Thurallor-7095
        if (self.running) then
70 Thurallor-7095
            self.overlay:SetBackground(resources.Icon.Pause);
71 Thurallor-7095
        else
72 Thurallor-7095
            self.overlay:SetBackground(resources.Icon.Play);
73 Thurallor-7095
        end
74 Thurallor-7095
    else
75 Thurallor-7095
        self.overlay:SetBackground(nil);
76 Thurallor-7095
    end
77 Thurallor-7095
end
78 Thurallor-7095
 
79 Thurallor-7095
function Gears:MouseEnter()
80 Thurallor-7095
    self.mouseInside = true;
81 Thurallor-7095
    self:UpdateOverlay();
82 Thurallor-7095
end
83 Thurallor-7095
 
84 Thurallor-7095
function Gears:MouseLeave()
85 Thurallor-7095
    self.mouseInside = false;
86 Thurallor-7095
    self:UpdateOverlay();
87 Thurallor-7095
end
88 Thurallor-7095
 
89 Thurallor-7095
function Gears:MouseClick(args)
90 Thurallor-7095
    if (args.Button == Turbine.UI.MouseButton.Left) then
91 Thurallor-7095
        self:SetRunning(not self.running);
92 Thurallor-7095
        if (self.running) then
93 Thurallor-7095
            DoCallbacks(self, "PlayPressed");
94 Thurallor-7095
        else
95 Thurallor-7095
            DoCallbacks(self, "PausePressed");
96 Thurallor-7095
        end
97 Thurallor-7095
    end
98 Thurallor-7095
end

All times are GMT -5. The time now is 05:55 PM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui