lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.02/] [KragenBars/] [SkillBar.lua] - Blame information for rev 16

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
import "Turbine.UI.Lotro";
3 Kragenwar-3044
import "KragenPlugs.Utils";
4 Kragenwar-3044
import "KragenPlugs.Utils.Extensions";
5 Kragenwar-3044
import "KragenPlugs.KragenBars";
6 Kragenwar-3044
 
7 Kragenwar-3044
SkillBar = class ( KragenPlugs.Utils.Extensions.SimpleWindow );
8 Kragenwar-3044
 
9 Kragenwar-3044
function SkillBar:Constructor ( parent, x, y, width, height, active, exclusive )
10 Kragenwar-3044
        KragenPlugs.Utils.Extensions.SimpleWindow.Constructor( self );
11 Kragenwar-3044
 
12 Kragenwar-3044
        -- declare variables
13 Kragenwar-3044
        self.parent         = parent;
14 Kragenwar-3044
    self.x              = x;
15 Kragenwar-3044
        self.y              = y;
16 Kragenwar-3044
        self.width                      = width;
17 Kragenwar-3044
        self.height         = height;
18 Kragenwar-3044
        self.exclusive      = exclusive;
19 Kragenwar-3044
        self.state          = false;
20 Kragenwar-3044
        self.effectid       = 0;
21 Kragenwar-3044
 
22 Kragenwar-3044
    -- set properties
23 Kragenwar-3044
        self:SetParent( parent );
24 Kragenwar-3044
        self:SetVisible(true);
25 Kragenwar-3044
        self:SetPosition( (x - 1) * 35, (y - 1) * 35 );
26 Kragenwar-3044
        self:SetSize( width * 35, height * 35 );
27 Kragenwar-3044
 
28 Kragenwar-3044
        if (parent.rotate == 1) then
29 Kragenwar-3044
                self:RotateBar();
30 Kragenwar-3044
        end
31 Kragenwar-3044
 
32 Kragenwar-3044
        -- SETUP BLANKSLOTS
33 Kragenwar-3044
        self.quickslots = { };
34 Kragenwar-3044
        for i = 1, width do
35 Kragenwar-3044
                if (parent.rotate == 0) then
36 Kragenwar-3044
                        self.quickslots[i] = BlankSlot(self, i, 1);
37 Kragenwar-3044
                else
38 Kragenwar-3044
                        self.quickslots[i] = BlankSlot(self, 1, i);
39 Kragenwar-3044
                end
40 Kragenwar-3044
        end
41 Kragenwar-3044
end
42 Kragenwar-3044
 
43 Kragenwar-3044
-- SET STATE (To be used to track the effect state of buffs/debuffs)
44 Kragenwar-3044
function SkillBar:SetState( state, id )
45 Kragenwar-3044
        -- update state and effect id
46 Kragenwar-3044
        if ( state ) then
47 Kragenwar-3044
                self.state = true;
48 Kragenwar-3044
                self.effectid = id;
49 Kragenwar-3044
        else
50 Kragenwar-3044
                if ( id == self.effectid ) then
51 Kragenwar-3044
                    self.state = false;
52 Kragenwar-3044
                        self.effectid = 0;
53 Kragenwar-3044
                end
54 Kragenwar-3044
 
55 Kragenwar-3044
        end
56 Kragenwar-3044
end
57 Kragenwar-3044
 
58 Kragenwar-3044
-- ROTATE BAR
59 Kragenwar-3044
function SkillBar:RotateBar()
60 Kragenwar-3044
        local newwidth = self.height;
61 Kragenwar-3044
        local newheight = self.width;
62 Kragenwar-3044
        self:SetSize( newwidth * 35, newheight * 35 );
63 Kragenwar-3044
 
64 Kragenwar-3044
        self.width = newwidth;
65 Kragenwar-3044
        self.height = newheight;
66 Kragenwar-3044
 
67 Kragenwar-3044
        local newx = self.y;
68 Kragenwar-3044
        local newy = self.x;
69 Kragenwar-3044
 
70 Kragenwar-3044
        self:SetPosition( (newx - 1) * 35, (newy - 1) * 35 );
71 Kragenwar-3044
        self.x = newx;
72 Kragenwar-3044
        self.y = newy;
73 Kragenwar-3044
 
74 Kragenwar-3044
        if (self.quickslots ~= nil) then
75 Kragenwar-3044
                for k,v in pairs(self.quickslots) do
76 Kragenwar-3044
                        local blankpos = { };
77 Kragenwar-3044
                        blankpos[1], blankpos[2] = v:GetPosition();
78 Kragenwar-3044
                        v:SetPosition(blankpos[2], blankpos[1]);
79 Kragenwar-3044
                end
80 Kragenwar-3044
        end
81 Kragenwar-3044
end

All times are GMT -5. The time now is 10:51 AM.


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