kapresoft / wow-addon-suite

Addon Suite is an addon management for the World of Warcraft
1 stars 0 forks source link

Per Character vs Profile #8

Closed msc6399 closed 6 months ago

msc6399 commented 6 months ago

Liking the addon so far. Had been Addon Control Panel and this is much easier and I have put it on my Titan bar. When using it on the Titan bar and left clicking it shows all the profiles defined. If I'm on my Druid character, I don't need to see or have the option to choose my Hunter profiles. This would go for any other character/class playing.
Showing only the profiles for the current character would be more desirable. Again, great addon, know it's a work in progress, and think it will be a hit.

Thanks!

nfet commented 6 months ago

Hi There, Initially thoughts that I will add a "Class-Specific" "Character-Specific" (toggle) option, but I'm open to other more user-friendly ideas.

New Option (checked by default) [General] settings tab

Other Notes

~~Do you think there might be a usecase/need for a "Per Character per Talent" profile? Here's a usecase that I could think of for myself: When I'm on my druid, I disable my healing addon if I am on a balance talent, so balance and resto may have different sets of addons (for WOTLK, and Retail only)~~

Updates:

msc6399 commented 6 months ago

Thanks for the quick response. I was thinking along the lines of: Differentiating between characters (if possible) to have their own sets. i.e. One of my hunters has two sets: world and raid/dungeon. My other hunter may have two sets that are completely different than the first hunter. Same whether on my Druid,Warlock,Rogue,Mage...whatever. That's why I was thinking per character would be the route to go. Make it manual switchover. Not based on talents. Have the player make the decision. Your doing good but I am a firm believer of the "KISS" doctrine.
However, it is your project and you must decide the time and effort you want to invest into it. Didn't mean to be long winded. Good luck. What is your Paypal?

nfet commented 6 months ago

I lean into the "KISS" principle as well, even in the source code for the most part. I looked at the other addon management project and seemed convoluted. That's why I spun up this new addon.

OK, looks like I misunderstood your initial point, i.e. I took "Class" as "Character" for some reason. Yes, this makes sense. I am thinking of a similar "Character-Specific" toggle UI and defaults to "checked". I have to work with the AceConfig database. For profiles that were already created before this enhancement, the player will have to open the settings UI and manually check this option.

I appreciate the gesture, but donation is optional. I do this because I enjoy it. But for all of my projects, Curse forge donation button is the way to go: https://www.curseforge.com/wow/addons/addon-suite. There was an issue with email I used but the Donate button in the AddonSuite page should work now.

Checkout ActionbarPlus also and let me know what you think.

All good here.

Didn't mean to be long winded.

Have a great day!

nfet commented 6 months ago

Adding notes here for myself:

Story:

As a player, When I click the "switch profile" functionality, I would like to only see my character's profile, so that the dropdown shows only the "addon configuration set" for the current character.

Challenges

The database used for this addon is Ace3 AceDB.

  1. The creation of an AceDB profile does not map or contain character information, i.e. AceDB is not aware which character created the profile. For this reason, we may need to create a configuration that triggers a mapping of a "character - realm" information in the AceDB profile.
  2. In the usecase of Character to "AddOns to Enable" setting, the relationship is one to many. It may be desirable to use one AceDB profile to many "AddOn Sets". So, for the AceDB profile default of "CharacterName - RealmName", we could store a collection of enabled addons.
  3. There would be a need to provide a UI to facilitate the "addon profile" creation. There is a need to come up with a different term besides "profile" to avoid confusing the user with the AceDB profile. Ideas? "addon set", "addon config", etc..

For example: "CharacterName - Profile", i.e. "SirHealsAlot - Grobbulus" default profile could have a list of "addons-enabled" set.

"SirHealsAlot - Grobbulus" : {
  addons : {
     ['dungeon']: {
         ['Vhudu']: true
     },
     ['solo']: {
         ['Vhudu']: false
     },
  }
}

With the structure above, the "switch profile" functionality would present "dungeon" and "solo" as the choice values.

Advantages:

nfet commented 6 months ago

I'm leaning into providing a checkbox option to show the current profile in the "quick profile switch" menu. The default state is "checked". I just invented the "quick profile switch" name, but it's the menu that showns when "left-clicking" the minimap icon.

Initial State

Initially, the menu will only contain the current profile.

Tentative Screenshot:

show-in-quick-profile-menu

nfet commented 6 months ago

Updates

I decided to go with a "Favorite" type profile selection at the Character level. In essence, each character can have their own favorites and characters can utilize the same Ace3 AceConfig profile at the Account and Game Version Level. AceConfig profiles are the profiles created in the "Profiles" tab.

New Minimap Options Tab

New Favorite Profiles Section

minimap-options-1

General Options Tab

general-options

Minimap Icon (On Hover)

minimap-on-hover

Minimap Menu (Left-Click)

minimap-on-left-click

Work Remaining