How to create a structure that allows me to choose an enum that is connected to a specific enum


I have a few classes in my game. I am wanting to create a structure that would allow me to select a class that has its specific enum of abilities that belong to that selected class.



I.E.
E_ClassType has three classes inside it being Marine, Sniper, Commander.
I then have E_MarineAbilities, E_SniperAbilities, and an E_CommanderAbilities.
So based on the E_Class chosen I would like to be able to only select abilities based on the class chosen.
If Marine is chosen I would like the abilities I can choose from to only be from E_MarineAbilities.
I would like to be able to change between classes and their specific *E_Abilities.


The reason is I want to cut down on the amount of items in my main structure or creating extra variables.
If you have questions I will do my best to explain further. I realize I could put all of the abilities in one Enum but I would prefer to keep them separate.


The next two pictures is what I am hoping you can help me figure out. For demonstration on what I would like your help to create; I want one variable type called S_AbilityInformation rather than what I currently have with an S_…AbilityInformation for each class. I added a variable of E_ClassType which created the drop down for the “Class Type” and I set the “Ability” in the first picture to E_CommanderAbilities and in the second picture to E_MarineAbilities. I would like my selecting of the “Class Type” to change the “Ability” Enum. “Class Type” Marine makes the “Ability” E_MarineAbilites. “Class Type” Commander makes the “Ability” E_CommanderAbilities



The end goal is to help pass information to the player pawn to let it know what ability it should use next. I am probably making this more complex that it needs to be, but I am trying to figure out how I can maximize the efficiency of my functions so I don’t need three of them to do the same thing just with different class names or different variable types. By making it a structure I can parse out the data I need at a given time rather than have a tangle of nodes for each specific class.

So, when the player class is Marine, they can just choose from an enum that only has marine abilities in? Then the variable needs to live in the player subclass, not in the main player class I think.

I may well be missing the point here…

Thank you for your response. I realized after reading your reply I was being too vague on what I am wanting. I have updated the main post to reflect what I specifically want.