lotrointerface.com
Search Downloads

LoTROInterface SVN SequenceBars

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

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 121 Thurallor-7095
    if (self.Log) then
43 Thurallor-7095
        if (running) then
44 Thurallor-7095
            DoCallbacks(self, "Log", {"starting continuous execution", "BAR"});
45 Thurallor-7095
        else
46 Thurallor-7095
            DoCallbacks(self, "Log", {"halting continuous execution", "BAR"});
47 Thurallor-7095
        end
48 Thurallor-7095
    end
49 43 Thurallor-7095
    self.running = running;
50 Thurallor-7095
    self:SetWantsUpdates(running);
51 Thurallor-7095
    self:UpdateOverlay();
52 Thurallor-7095
end
53 Thurallor-7095
 
54 Thurallor-7095
function Gears:SetParent(parent)
55 Thurallor-7095
    if (self.parent ~= parent) then
56 Thurallor-7095
        self.parent = parent;
57 Thurallor-7095
        Turbine.UI.Control.SetParent(self, parent);
58 Thurallor-7095
    end
59 Thurallor-7095
end
60 Thurallor-7095
 
61 Thurallor-7095
function Gears:SetDelaying(delaying)
62 Thurallor-7095
    self.delaying = delaying;
63 Thurallor-7095
end
64 Thurallor-7095
 
65 Thurallor-7095
function Gears:Update()
66 Thurallor-7095
    if (not self.delaying) then
67 Thurallor-7095
        local left = -self.background:GetLeft();
68 Thurallor-7095
        left = (left + 32) % 288;
69 Thurallor-7095
        self.background:SetLeft(-left);
70 Thurallor-7095
        DoCallbacks(self, "Tick");
71 Thurallor-7095
    end
72 Thurallor-7095
end
73 Thurallor-7095
 
74 Thurallor-7095
function Gears:UpdateOverlay()
75 Thurallor-7095
    if (self.mouseInside) then
76 Thurallor-7095
        if (self.running) then
77 Thurallor-7095
            self.overlay:SetBackground(resources.Icon.Pause);
78 Thurallor-7095
        else
79 Thurallor-7095
            self.overlay:SetBackground(resources.Icon.Play);
80 Thurallor-7095
        end
81 Thurallor-7095
    else
82 Thurallor-7095
        self.overlay:SetBackground(nil);
83 Thurallor-7095
    end
84 Thurallor-7095
end
85 Thurallor-7095
 
86 Thurallor-7095
function Gears:MouseEnter()
87 Thurallor-7095
    self.mouseInside = true;
88 Thurallor-7095
    self:UpdateOverlay();
89 Thurallor-7095
end
90 Thurallor-7095
 
91 Thurallor-7095
function Gears:MouseLeave()
92 Thurallor-7095
    self.mouseInside = false;
93 Thurallor-7095
    self:UpdateOverlay();
94 Thurallor-7095
end
95 Thurallor-7095
 
96 Thurallor-7095
function Gears:MouseClick(args)
97 Thurallor-7095
    if (args.Button == Turbine.UI.MouseButton.Left) then
98 Thurallor-7095
        self:SetRunning(not self.running);
99 Thurallor-7095
        if (self.running) then
100 Thurallor-7095
            DoCallbacks(self, "PlayPressed");
101 Thurallor-7095
        else
102 Thurallor-7095
            DoCallbacks(self, "PausePressed");
103 Thurallor-7095
        end
104 Thurallor-7095
    end
105 Thurallor-7095
end

All times are GMT -5. The time now is 01:22 AM.


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