Implement a hotkey to add clients to the group on the fly
This commit is contained in:
@@ -49,6 +49,7 @@
|
||||
AutoForwardTimerPending := false ; Flag to prevent multiple timers from being scheduled
|
||||
CharacterNameOverlay := 0 ; GUI overlay for displaying current character name
|
||||
CharacterNameOverlayLastText := "" ; Track last displayed text to prevent flashing
|
||||
CharacterNameOverlayLastColor := "" ; Track last color to detect changes
|
||||
LastActiveCharacter := "" ; Track last active character for AddCharacterToGroup
|
||||
CharacterNameOverlayX := 0 ; Stored X position for dragging
|
||||
CharacterNameOverlayY := 0 ; Stored Y position for dragging
|
||||
@@ -179,6 +180,19 @@
|
||||
This.CharacterNameOverlay["CharacterNameText"].Text := activeTitle
|
||||
}
|
||||
|
||||
if (activeTitle != "") {
|
||||
inGroup := This.IsCharacterInGroup(activeTitle)
|
||||
baseColor := This.CharacterNameOverlayTextColor
|
||||
textColor := inGroup ? This.TintColor(baseColor, 0.15) : baseColor
|
||||
|
||||
if (textColor != This.CharacterNameOverlayLastColor || activeTitle != This.CharacterNameOverlayLastText) {
|
||||
textWeight := This.CharacterNameOverlayTextBold ? "w700" : "w400"
|
||||
This.CharacterNameOverlay.SetFont("s" This.CharacterNameOverlayTextSize " " textWeight " c" textColor, "Arial")
|
||||
This.CharacterNameOverlay["CharacterNameText"].SetFont("s" This.CharacterNameOverlayTextSize " " textWeight " c" textColor, "Arial")
|
||||
This.CharacterNameOverlayLastColor := textColor
|
||||
}
|
||||
}
|
||||
|
||||
hotkeyText := ""
|
||||
hotkeyValue := This._Hotkeys[activeTitle]
|
||||
if (hotkeyValue && hotkeyValue != "" && hotkeyValue != 0) {
|
||||
@@ -1236,9 +1250,11 @@
|
||||
This.Hotkey_Groups[targetGroupName]["Characters"] := []
|
||||
|
||||
alreadyInGroup := false
|
||||
removeIndex := 0
|
||||
for index, charName in This.Hotkey_Groups[targetGroupName]["Characters"] {
|
||||
if (charName = currentTitle) {
|
||||
alreadyInGroup := true
|
||||
removeIndex := index
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -1247,8 +1263,53 @@
|
||||
This.Hotkey_Groups[targetGroupName]["Characters"].Push(currentTitle)
|
||||
SetTimer(This.Save_Settings_Delay_Timer, -200)
|
||||
This.NeedRestart := 1
|
||||
ToolTip("Added " currentTitle " to group")
|
||||
SetTimer(() => ToolTip(), -1500)
|
||||
This.UpdateCharacterNameOverlay()
|
||||
} else {
|
||||
This.Hotkey_Groups[targetGroupName]["Characters"].RemoveAt(removeIndex)
|
||||
SetTimer(This.Save_Settings_Delay_Timer, -200)
|
||||
This.NeedRestart := 1
|
||||
ToolTip("Removed " currentTitle " from group")
|
||||
SetTimer(() => ToolTip(), -1500)
|
||||
This.UpdateCharacterNameOverlay()
|
||||
}
|
||||
}
|
||||
|
||||
IsCharacterInGroup(charName) {
|
||||
if (!IsObject(This.Hotkey_Groups) || This.Hotkey_Groups.Count = 0)
|
||||
return false
|
||||
|
||||
for groupName, groupData in This.Hotkey_Groups {
|
||||
if (IsObject(groupData["Characters"])) {
|
||||
for index, name in groupData["Characters"] {
|
||||
if (name = charName)
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
TintColor(hexColor, tintAmount := 0.2) {
|
||||
hexColor := RegExReplace(hexColor, "^#|^0x", "")
|
||||
if (StrLen(hexColor) != 6)
|
||||
return hexColor
|
||||
|
||||
r := Integer("0x" SubStr(hexColor, 1, 2))
|
||||
g := Integer("0x" SubStr(hexColor, 3, 2))
|
||||
b := Integer("0x" SubStr(hexColor, 5, 2))
|
||||
|
||||
r := Round(r + (255 - r) * tintAmount)
|
||||
g := Round(g + (255 - g) * tintAmount)
|
||||
b := Round(b + (255 - b) * tintAmount)
|
||||
|
||||
r := (r > 255 ? 255 : r < 0 ? 0 : r)
|
||||
g := (g > 255 ? 255 : g < 0 ? 0 : g)
|
||||
b := (b > 255 ? 255 : b < 0 ? 0 : b)
|
||||
|
||||
return Format("{:02X}{:02X}{:02X}", r, g, b)
|
||||
}
|
||||
|
||||
SaveJsonToFile() {
|
||||
FileDelete("EVE-X-Preview.json")
|
||||
|
||||
Reference in New Issue
Block a user