I think I understand. Sorry if this got a bit complicated, it was one of the very few ways I could manage moves, by using components. See, I wanted there to be a hierarchy of components in such a way that the player will gain them down the line in the game i.e. Level one-> Jump, Level 2-> Double Jump, Level 3-> Ground Pound, Level 4-> Glide. Each of these component moves needs to “know” each other or inherit from each other somehow to turn them on and off depending on which one is being used.
From what you explained to me, if I had all four of the abilities above implemented, then the last ability, the Glide, would be the parent, then ->Ground Pound->DoubleJump->Jump. So If I wanted to jump, I’d used the Glide component. Right?? But wouldn’t that cause a bunch of annoying cast??