Go to most recent revision | Details | Compare with Previous | View Log
Line No. | Rev | Author | Line |
---|---|---|---|
1 | 5 | Taonnor-14572 | --[[ |
2 | Taonnor-14572 | Addon: Taos Group Ultimate |
|
3 | Taonnor-14572 | Author: TProg Taonnor |
|
4 | Taonnor-14572 | Created by @Taonnor |
|
5 | Taonnor-14572 | ]]-- |
|
6 | Taonnor-14572 | ||
7 | Taonnor-14572 | --[[ |
|
8 | Taonnor-14572 | Global variables |
|
9 | Taonnor-14572 | ]]-- |
|
10 | Taonnor-14572 | local DEBUG_ACTIVE = true |
|
11 | Taonnor-14572 | ||
12 | Taonnor-14572 | --[[ |
|
13 | Taonnor-14572 | Class SimpleList |
|
14 | Taonnor-14572 | ]]-- |
|
15 | Taonnor-14572 | SimpleList = {} |
|
16 | Taonnor-14572 | ||
17 | Taonnor-14572 | --[[ |
|
18 | Taonnor-14572 | Class Members |
|
19 | Taonnor-14572 | ]]-- |
|
20 | Taonnor-14572 | ||
21 | Taonnor-14572 | ||
22 | Taonnor-14572 | --[[ |
|
23 | Taonnor-14572 | Sets visibility of labels |
|
24 | Taonnor-14572 | ]]-- |
|
25 | Taonnor-14572 | function SimpleList.RefreshList() |
|
26 | Taonnor-14572 | logDebug("SimpleList.RefreshList()") |
|
27 | Taonnor-14572 | ||
28 | Taonnor-14572 | for i=1, GROUP_SIZE_MAX, 1 do |
|
29 | Taonnor-14572 | local row = SimpleListControlContainerScrollChild:GetNamedChild("Row" .. i) |
|
30 | Taonnor-14572 | ||
31 | Taonnor-14572 | if (row ~= nil) then |
|
32 | Taonnor-14572 | if (DoesUnitExist("group" .. i)) then |
|
33 | Taonnor-14572 | row:GetNamedChild("SenderNameValueLabel"):SetText(GetUnitName("group" .. i)) |
|
34 | Taonnor-14572 | row:GetNamedChild("UltimateValueLabel"):SetText("-") |
|
35 | Taonnor-14572 | row:GetNamedChild("ReadyValueLabel"):SetText("0") |
|
36 | Taonnor-14572 | row:SetHidden(false) |
|
37 | Taonnor-14572 | else |
|
38 | Taonnor-14572 | row:SetHidden(true) |
|
39 | Taonnor-14572 | row:GetNamedChild("SenderNameValueLabel"):SetText("-") |
|
40 | Taonnor-14572 | row:GetNamedChild("UltimateValueLabel"):SetText("-") |
|
41 | Taonnor-14572 | row:GetNamedChild("ReadyValueLabel"):SetText("0") |
|
42 | Taonnor-14572 | end |
|
43 | Taonnor-14572 | else |
|
44 | Taonnor-14572 | logDebug("row nil " .. i) |
|
45 | Taonnor-14572 | end |
|
46 | Taonnor-14572 | end |
|
47 | Taonnor-14572 | end |
|
48 | Taonnor-14572 | ||
49 | Taonnor-14572 | --[[ |
|
50 | Taonnor-14572 | Updates list row |
|
51 | Taonnor-14572 | ]]-- |
|
52 | Taonnor-14572 | function SimpleList.UpdateListRow(rowId, ultimateName, relativeUltimate, isPlayerDead) |
|
53 | Taonnor-14572 | logDebug("SimpleList.UpdateListRow()") |
|
54 | Taonnor-14572 | if (rowId ~= nil and rowId ~= "" and |
|
55 | Taonnor-14572 | ultimateName ~= nil and ultimateName ~= "" and |
|
56 | Taonnor-14572 | relativeUltimate ~= nil and relativeUltimate >= 0 and relativeUltimate <= 100) then |
|
57 | Taonnor-14572 | ||
58 | Taonnor-14572 | local row = SimpleListControlContainerScrollChild:GetNamedChild("Row" .. rowId) |
|
59 | Taonnor-14572 | ||
60 | Taonnor-14572 | if (row ~= nil) then |
|
61 | Taonnor-14572 | row:GetNamedChild("UltimateValueLabel"):SetText(ultimateName) |
|
62 | Taonnor-14572 | row:GetNamedChild("ReadyValueLabel"):SetText(relativeUltimate) |
|
63 | Taonnor-14572 | ||
64 | Taonnor-14572 | if (isPlayerDead) then |
|
65 | Taonnor-14572 | row:GetNamedChild("SenderNameValueLabel"):SetColor(1.0, 0.0, 0.0, 1) |
|
66 | Taonnor-14572 | row:GetNamedChild("UltimateValueLabel"):SetColor(1.0, 0.0, 0.0, 1) |
|
67 | Taonnor-14572 | row:GetNamedChild("ReadyValueLabel"):SetColor(1.0, 0.0, 0.0, 1) |
|
68 | Taonnor-14572 | elseif (relativeUltimate == 100) then |
|
69 | Taonnor-14572 | row:GetNamedChild("SenderNameValueLabel"):SetColor(0.0, 1.0, 0.0, 1) |
|
70 | Taonnor-14572 | row:GetNamedChild("UltimateValueLabel"):SetColor(0.0, 1.0, 0.0, 1) |
|
71 | Taonnor-14572 | row:GetNamedChild("ReadyValueLabel"):SetColor(0.0, 1.0, 0.0, 1) |
|
72 | Taonnor-14572 | else |
|
73 | Taonnor-14572 | row:GetNamedChild("SenderNameValueLabel"):SetColor(1.0, 1.0, 1.0, 1) |
|
74 | Taonnor-14572 | row:GetNamedChild("UltimateValueLabel"):SetColor(1.0, 1.0, 1.0, 1) |
|
75 | Taonnor-14572 | row:GetNamedChild("ReadyValueLabel"):SetColor(1.0, 1.0, 1.0, 1) |
|
76 | Taonnor-14572 | end |
|
77 | Taonnor-14572 | else |
|
78 | Taonnor-14572 | logDebug("row nil " .. rowId) |
|
79 | Taonnor-14572 | end |
|
80 | Taonnor-14572 | else |
|
81 | Taonnor-14572 | logDebug("ignored; rowId: " .. rowId .. ", ultimateName: " .. ultimateName .. ", relativeUltimate: " .. relativeUltimate) |
|
82 | Taonnor-14572 | end |
|
83 | Taonnor-14572 | end |
|
84 | Taonnor-14572 | ||
85 | Taonnor-14572 | --[[ |
|
86 | Taonnor-14572 | UpdateMovable sets the Movable and MouseEnabled flag in UI elements |
|
87 | Taonnor-14572 | ]]-- |
|
88 | Taonnor-14572 | function SimpleList.SetMovable(isMovable) |
|
89 | Taonnor-14572 | SimpleListControl:SetMovable(isMovable) |
|
90 | Taonnor-14572 | SimpleListControl:SetMouseEnabled(isMovable) |
|
91 | Taonnor-14572 | end |
|
92 | Taonnor-14572 | ||
93 | Taonnor-14572 | --[[ |
|
94 | Taonnor-14572 | RestorePosition sets SimpleList on settings position |
|
95 | Taonnor-14572 | ]]-- |
|
96 | Taonnor-14572 | function SimpleList.RestorePosition(posX, posY) |
|
97 | Taonnor-14572 | SimpleListControl:ClearAnchors() |
|
98 | Taonnor-14572 | SimpleListControl:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, posX, posY) |
|
99 | Taonnor-14572 | end |
|
100 | Taonnor-14572 | ||
101 | Taonnor-14572 | --[[ |
|
102 | Taonnor-14572 | OnGroupUltimateSimpleListMoveStop saves current SimpleList position to settings |
|
103 | Taonnor-14572 | ]]-- |
|
104 | Taonnor-14572 | function SimpleList.OnGroupUltimateSimpleListMoveStop() |
|
105 | Taonnor-14572 | local left = SimpleListControl:GetLeft() |
|
106 | Taonnor-14572 | local top = SimpleListControl:GetTop() |
|
107 | Taonnor-14572 | ||
108 | Taonnor-14572 | Settings.SavedVariables.PosX = left |
|
109 | Taonnor-14572 | Settings.SavedVariables.PosY = top |
|
110 | Taonnor-14572 | end |
|
111 | Taonnor-14572 | ||
112 | Taonnor-14572 | function SimpleList.SetHidden(isHidden) |
|
113 | Taonnor-14572 | SimpleListControl:SetHidden(isHidden) |
|
114 | Taonnor-14572 | end |
|
115 | Taonnor-14572 | ||
116 | Taonnor-14572 | --[[ |
|
117 | Taonnor-14572 | CreateGroupUltimateSimpleListRows creates group ultimate rows |
|
118 | Taonnor-14572 | ]]-- |
|
119 | Taonnor-14572 | function SimpleList.CreateGroupUltimateSimpleListRows() |
|
120 | Taonnor-14572 | for i=1, GROUP_SIZE_MAX, 1 do |
|
121 | Taonnor-14572 | local row = CreateControlFromVirtual("$(parent)Row", SimpleListControlContainerScrollChild, "GroupUltimateSimpleListRow", i) |
|
122 | Taonnor-14572 | row:SetHidden(true) -- initial not visible |
|
123 | Taonnor-14572 | ||
124 | Taonnor-14572 | if i == 1 then |
|
125 | Taonnor-14572 | row:SetAnchor(TOPLEFT, SimpleListControlContainerScrollChild, TOPLEFT, 0, 0) |
|
126 | Taonnor-14572 | else |
|
127 | Taonnor-14572 | row:SetAnchor(TOP, lastRow, BOTTOM, 0, 0) |
|
128 | Taonnor-14572 | end |
|
129 | Taonnor-14572 | ||
130 | Taonnor-14572 | lastRow = row |
|
131 | Taonnor-14572 | end |
|
132 | Taonnor-14572 | end |
|
133 | Taonnor-14572 | ||
134 | Taonnor-14572 | --[[ |
|
135 | Taonnor-14572 | Initialize initializes SimpleList |
|
136 | Taonnor-14572 | ]]-- |
|
137 | Taonnor-14572 | function SimpleList.Initialize(isHidden, isMovable, posX, posY) |
|
138 | Taonnor-14572 | SimpleList:SetHidden(isHidden) |
|
139 | Taonnor-14572 | SimpleList:SetMovable(isMovable) |
|
140 | Taonnor-14572 | SimpleList:RestorePosition(posX, posY) |
|
141 | Taonnor-14572 | SimpleList:CreateGroupUltimateSimpleListRows() |
|
142 | Taonnor-14572 | ||
143 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback("TGU-GroupChanged", SimpleList.RefreshList) |
|
144 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback("TGU-MapPingChanged", SimpleList.UpdateListRow) |
|
145 | Taonnor-14572 | end |