From 6d524e49f0b2588ce10f2e48103be56f06a4c4fd Mon Sep 17 00:00:00 2001 From: Izakbar Date: Wed, 5 Feb 2025 22:18:09 +0000 Subject: [PATCH] #4 add additional cyclegroups (1 thru 5 now available) updated README.md --- README.md | 18 ++++++-- .../Implementation/ThumbnailConfiguration.cs | 46 +++++++++++++++++++ .../Interface/IThumbnailConfiguration.cs | 12 +++++ .../Implementation/ThumbnailManager.cs | 9 ++++ 4 files changed, 81 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 350ce88..8906261 100644 --- a/README.md +++ b/README.md @@ -220,19 +220,29 @@ Next find the entry **CycleGroup1ForwardHotkeys**. Most probably it will look li You should modify this entry with a list of each of your clients replacing "Example DPS Toon 1", etc with the name of your character. The numbers on the right are used to force the order in which they cycle. If a character appears in the list but is not currently logged in, then it will simply be skipped. If a character does not appear in the list, then they will never become active when cycling clients. +If "EVE" is used instead of a character name - then this is taken to mean active clients with no active character (ie on character selection screen). This would allow you to setup a cycle group to go through clients at character selection screen. EVE-O Preview will cycle through all clients in this state. -By now you may have noticed that there are two groups. The above configuration can be followed for a second group by using the values **CycleGroup2ForwardHotkeys**, **CycleGroup2BackwardHotkeys**, and **CycleGroup2ForwardHotkeys** -This may provide useful if you want to have one HotKey to cycle through a group of DPS characters, while another HotKey cycles through support roles such as gate scouts, or a group of logi. +By now you may have noticed that there are multiple groups. The above configuration can be followed for a second group by using the values **CycleGroup2ForwardHotkeys**, **CycleGroup2BackwardHotkeys**, and **CycleGroup2ForwardHotkeys** +This may provide useful if you want to have one HotKey to cycle through a group of DPS characters, while another HotKey cycles through support roles such as gate scouts, or a group of logi. Cyclegroups are numbered 1 through 5. Alternatively you may not want to use any of these HotKeys. Please note that deleting the values in their entirety will simply result in them being automatically re-generated. Should you wish to remove these HotKeys completely, Simply set the values to empty, such as the example below: - "CycleGroup1ForwardHotkeys": [], + "CycleGroup1ForwardHotkeys": [], "CycleGroup1BackwardHotkeys": [], "CycleGroup1ClientsOrder": {}, "CycleGroup2ForwardHotkeys": [], "CycleGroup2BackwardHotkeys": [], - "CycleGroup2ClientsOrder": {} + "CycleGroup2ClientsOrder": {}, + "CycleGroup3ForwardHotkeys": [], + "CycleGroup3BackwardHotkeys": [], + "CycleGroup3ClientsOrder": {}, + "CycleGroup4ForwardHotkeys": [], + "CycleGroup4BackwardHotkeys": [], + "CycleGroup4ClientsOrder": {}, + "CycleGroup5ForwardHotkeys": [], + "CycleGroup5BackwardHotkeys": [], + "CycleGroup5ClientsOrder": {} **Hints** * Minimise the use of modifiers or standard keys to minimise issues with the client playing up. In the default example unusual Function keys (e.g. F14) are used which are then bound to a game pad or gaming mouse. diff --git a/src/Eve-O-Preview/Configuration/Implementation/ThumbnailConfiguration.cs b/src/Eve-O-Preview/Configuration/Implementation/ThumbnailConfiguration.cs index 8c952a4..642a828 100644 --- a/src/Eve-O-Preview/Configuration/Implementation/ThumbnailConfiguration.cs +++ b/src/Eve-O-Preview/Configuration/Implementation/ThumbnailConfiguration.cs @@ -36,6 +36,25 @@ namespace EveOPreview.Configuration.Implementation { "EVE - Example Tackle Toon 3", 3 } }; + this.CycleGroup3ForwardHotkeys = new List { "" }; + this.CycleGroup3BackwardHotkeys = new List { "" }; + this.CycleGroup3ClientsOrder = new Dictionary + { + { "EVE - cycle group 3", 1 }, + }; + this.CycleGroup4ForwardHotkeys = new List { "" }; + this.CycleGroup4BackwardHotkeys = new List { "" }; + this.CycleGroup4ClientsOrder = new Dictionary + { + { "EVE - cycle group 4", 1 }, + }; + this.CycleGroup5ForwardHotkeys = new List { "" }; + this.CycleGroup5BackwardHotkeys = new List { "" }; + this.CycleGroup5ClientsOrder = new Dictionary + { + { "EVE - cycle group 5", 1 }, + }; + this.PerClientActiveClientHighlightColor = new Dictionary { {"EVE - Example Toon 1", Color.Red}, @@ -133,6 +152,33 @@ namespace EveOPreview.Configuration.Implementation [JsonProperty("CycleGroup2ClientsOrder")] public Dictionary CycleGroup2ClientsOrder { get; set; } + [JsonProperty("CycleGroup3ForwardHotkeys")] + public List CycleGroup3ForwardHotkeys { get; set; } + + [JsonProperty("CycleGroup3BackwardHotkeys")] + public List CycleGroup3BackwardHotkeys { get; set; } + + [JsonProperty("CycleGroup3ClientsOrder")] + public Dictionary CycleGroup3ClientsOrder { get; set; } + + [JsonProperty("CycleGroup4ForwardHotkeys")] + public List CycleGroup4ForwardHotkeys { get; set; } + + [JsonProperty("CycleGroup4BackwardHotkeys")] + public List CycleGroup4BackwardHotkeys { get; set; } + + [JsonProperty("CycleGroup4ClientsOrder")] + public Dictionary CycleGroup4ClientsOrder { get; set; } + + [JsonProperty("CycleGroup5ForwardHotkeys")] + public List CycleGroup5ForwardHotkeys { get; set; } + + [JsonProperty("CycleGroup5BackwardHotkeys")] + public List CycleGroup5BackwardHotkeys { get; set; } + + [JsonProperty("CycleGroup5ClientsOrder")] + public Dictionary CycleGroup5ClientsOrder { get; set; } + [JsonProperty("PerClientActiveClientHighlightColor")] public Dictionary PerClientActiveClientHighlightColor { get; set; } diff --git a/src/Eve-O-Preview/Configuration/Interface/IThumbnailConfiguration.cs b/src/Eve-O-Preview/Configuration/Interface/IThumbnailConfiguration.cs index df03cb9..0273892 100644 --- a/src/Eve-O-Preview/Configuration/Interface/IThumbnailConfiguration.cs +++ b/src/Eve-O-Preview/Configuration/Interface/IThumbnailConfiguration.cs @@ -14,6 +14,18 @@ namespace EveOPreview.Configuration List CycleGroup2BackwardHotkeys { get; set; } Dictionary CycleGroup2ClientsOrder { get; set; } + List CycleGroup3ForwardHotkeys { get; set; } + List CycleGroup3BackwardHotkeys { get; set; } + Dictionary CycleGroup3ClientsOrder { get; set; } + + List CycleGroup4ForwardHotkeys { get; set; } + List CycleGroup4BackwardHotkeys { get; set; } + Dictionary CycleGroup4ClientsOrder { get; set; } + + List CycleGroup5ForwardHotkeys { get; set; } + List CycleGroup5BackwardHotkeys { get; set; } + Dictionary CycleGroup5ClientsOrder { get; set; } + Dictionary PerClientActiveClientHighlightColor { get; set; } Dictionary PerClientThumbnailSize { get; set; } diff --git a/src/Eve-O-Preview/Services/Implementation/ThumbnailManager.cs b/src/Eve-O-Preview/Services/Implementation/ThumbnailManager.cs index 471ddfe..bd425f7 100644 --- a/src/Eve-O-Preview/Services/Implementation/ThumbnailManager.cs +++ b/src/Eve-O-Preview/Services/Implementation/ThumbnailManager.cs @@ -81,6 +81,15 @@ namespace EveOPreview.Services RegisterCycleClientHotkey(this._configuration.CycleGroup2ForwardHotkeys?.Select(x => this._configuration.StringToKey(x)), true, this._configuration.CycleGroup2ClientsOrder); RegisterCycleClientHotkey(this._configuration.CycleGroup2BackwardHotkeys?.Select(x => this._configuration.StringToKey(x)), false, this._configuration.CycleGroup2ClientsOrder); + + RegisterCycleClientHotkey(this._configuration.CycleGroup3ForwardHotkeys?.Select(x => this._configuration.StringToKey(x)), true, this._configuration.CycleGroup3ClientsOrder); + RegisterCycleClientHotkey(this._configuration.CycleGroup3BackwardHotkeys?.Select(x => this._configuration.StringToKey(x)), false, this._configuration.CycleGroup3ClientsOrder); + + RegisterCycleClientHotkey(this._configuration.CycleGroup4ForwardHotkeys?.Select(x => this._configuration.StringToKey(x)), true, this._configuration.CycleGroup4ClientsOrder); + RegisterCycleClientHotkey(this._configuration.CycleGroup4BackwardHotkeys?.Select(x => this._configuration.StringToKey(x)), false, this._configuration.CycleGroup4ClientsOrder); + + RegisterCycleClientHotkey(this._configuration.CycleGroup5ForwardHotkeys?.Select(x => this._configuration.StringToKey(x)), true, this._configuration.CycleGroup5ClientsOrder); + RegisterCycleClientHotkey(this._configuration.CycleGroup5BackwardHotkeys?.Select(x => this._configuration.StringToKey(x)), false, this._configuration.CycleGroup5ClientsOrder); } public IThumbnailView GetClientByTitle(string title)