2
2
// Released under the terms of the MIT License
3
3
// https://github.com/Earthfiredrake/SWL-FreeHUD
4
4
5
- import com.GameInterface.Game.Character;
6
5
import com.GameInterface.Game.Shortcut;
7
6
import com.GameInterface.Game.ShortcutData;
8
7
import com.GameInterface.InventoryItem;
@@ -33,32 +32,12 @@ class efd.FreeHUD.gui.BasicCooldown extends MovieClip {
33
32
34
33
GlobalSignal.SignalSetGUIEditMode.Connect(ManageGEM, this);
35
34
SignalGeometryChanged = new Signal();
36
-
37
- var clientChar:Character = Character.GetClientCharacter();
38
- clientChar.SignalToggleCombat.Connect(NotifyInCombat, this);
39
- NotifyInCombat(clientChar.IsThreatened());
40
35
}
41
36
42
- public function ChangeAbility(data:Object):Void {
43
- if (data.m_Icon) {
44
- LoadIconClip(Utils.CreateResourceString(data.m_Icon));
45
- Enabled = SlotID == GadgetSlot || data.m_Enabled;
46
- } else { Clear(); }
47
- UpdateVisuals();
48
- }
49
-
50
- public function EnableAbility(enabled:Boolean):Void {
51
- Enabled = enabled;
52
- UpdateVisuals();
53
- }
37
+ /// Mod Settings Changes
54
38
55
39
public function SetOffCDBehaviour(hideReady:Boolean):Void {
56
- HideReady = hideReady;
57
- UpdateVisuals();
58
- }
59
-
60
- public function SetOutOfCombatVisibility(hideOutOfCombat:Boolean):Void {
61
- HideOutOfCombat = hideOutOfCombat;
40
+ HideReady = hideReady;
62
41
UpdateVisuals();
63
42
}
64
43
@@ -68,23 +47,6 @@ class efd.FreeHUD.gui.BasicCooldown extends MovieClip {
68
47
UpdateVisuals();
69
48
}
70
49
71
- private function Clear():Void {
72
- Enabled = true;
73
-
74
- if (IsLoaded) {
75
- AbilityIconLoader.unloadClip(AbilityIcon);
76
- IsLoaded = false;
77
- }
78
- }
79
-
80
- private function LoadIconClip(path:String):Void {
81
- if (IsLoaded) { AbilityIconLoader.unloadClip(AbilityIcon); }
82
- IsLoaded = AbilityIconLoader.loadClip(path, AbilityIcon);
83
-
84
- AbilityIcon._xscale = m_Background._width;
85
- AbilityIcon._yscale = m_Background._height;
86
- }
87
-
88
50
/// GUI Edit Mode
89
51
90
52
private function ManageGEM(unlock:Boolean):Void {
@@ -115,7 +77,38 @@ class efd.FreeHUD.gui.BasicCooldown extends MovieClip {
115
77
}
116
78
}
117
79
118
- /// Cooldowns
80
+ /// Game State Changes
81
+
82
+ public function ChangeAbility(data:Object):Void {
83
+ if (data.m_Icon) {
84
+ LoadIconClip(Utils.CreateResourceString(data.m_Icon));
85
+ Enabled = SlotID == GadgetSlot || data.m_Enabled;
86
+ } else { Clear(); }
87
+ UpdateVisuals();
88
+ }
89
+
90
+ public function EnableAbility(enabled:Boolean):Void {
91
+ Enabled = enabled;
92
+ UpdateVisuals();
93
+ }
94
+
95
+ private function Clear():Void {
96
+ Enabled = true;
97
+
98
+ if (IsLoaded) {
99
+ AbilityIconLoader.unloadClip(AbilityIcon);
100
+ IsLoaded = false;
101
+ }
102
+ }
103
+
104
+ private function LoadIconClip(path:String):Void {
105
+ if (IsLoaded) { AbilityIconLoader.unloadClip(AbilityIcon); }
106
+ IsLoaded = AbilityIconLoader.loadClip(path, AbilityIcon);
107
+
108
+ AbilityIcon._xscale = m_Background._width;
109
+ AbilityIcon._yscale = m_Background._height;
110
+ }
111
+
119
112
public function AddCooldown(cooldownStart:Number, cooldownEnd:Number, cooldownFlags:Number):Void {
120
113
if (cooldownFlags & _global.Enums.TemplateLock.e_GlobalCooldown) { return; }
121
114
AbilityIcon._alpha = 35;
@@ -143,47 +136,34 @@ class efd.FreeHUD.gui.BasicCooldown extends MovieClip {
143
136
}
144
137
145
138
/// Display Adjustments
146
- private function NotifyInCombat(inCombat:Boolean):Void {
147
- IsInCombat = inCombat;
148
- if (HideOutOfCombat) { UpdateVisuals(); }
149
- }
150
-
151
- private function SetOffCD():Void {
152
- m_CooldownLine._visible = false;
153
- m_OuterLine._visible = true;
154
- Colors.ApplyColor(m_OuterLine, Colors.e_ColorBlack);
155
- }
156
-
157
- public function SetDisabled():Void {
158
- SetOffCD();
159
- m_Background._visible = false;
160
-
161
- AbilityIcon._alpha = 50;
162
- }
163
-
164
- public function SetAvailable():Void {
165
- SetOffCD();
166
- m_Background._visible = true;
167
-
168
- AbilityIcon._alpha = 100;
169
- m_Background._alpha = 100;
170
- }
171
-
172
139
private function UpdateVisuals():Void {
173
140
_visible = GemManager ||
174
141
(IsLoaded &&
175
- (IsInCombat || !HideOutOfCombat) &&
176
142
((ShowSGReloads && IsSGReload()) ||
177
- ((!HideReady || CooldownOverlay) &&
178
- (SlotID == GadgetSlot || HasAbilityCooldown() ))));
179
- m_HotkeyLabel._visible = ShowSGHotkeys && IsSGReload();
143
+ CooldownOverlay ||
144
+ (!HideReady && HasAbilityCooldown())));
145
+ m_HotkeyLabel._visible = ShowSGHotkeys && (GemManager || IsSGReload() );
180
146
if (CooldownOverlay != undefined) { return; }
181
- if (Enabled) { SetAvailable(); }
182
- else { SetDisabled(); }
147
+
148
+ SetOffCDVisual();
149
+ SetEnabledVisual();
150
+ }
151
+
152
+ private function SetOffCDVisual():Void {
153
+ m_CooldownLine._visible = false;
154
+ m_OuterLine._visible = true;
155
+ Colors.ApplyColor(m_OuterLine, Colors.e_ColorBlack);
156
+ }
157
+
158
+ private function SetEnabledVisual():Void {
159
+ m_Background._visible = Enabled;
160
+ m_Background._alpha = 100;
161
+ AbilityIcon._alpha = Enabled ? 100 : 50;
183
162
}
184
163
185
164
private function HasAbilityCooldown():Boolean {
186
- return TooltipDataProvider.GetSpellTooltip(Shortcut.m_ShortcutList[SlotID].m_SpellId, 0).m_RecastTime > 0;
165
+ return SlotID == GadgetSlot ||
166
+ TooltipDataProvider.GetSpellTooltip(Shortcut.m_ShortcutList[SlotID].m_SpellId, 0).m_RecastTime > 0;
187
167
}
188
168
189
169
private function IsSGReload():Boolean {
@@ -200,7 +180,6 @@ class efd.FreeHUD.gui.BasicCooldown extends MovieClip {
200
180
private var IsLoaded:Boolean = false;
201
181
202
182
private var HideReady:Boolean = false;
203
- private var HideOutOfCombat:Boolean = true;
204
183
private var IsInCombat:Boolean = false;
205
184
private var ShowSGReloads:Boolean = true;
206
185
private var ShowSGHotkeys:Boolean = true;
0 commit comments