I’m sure this is a relatively easy question for those more experienced, so I wanted to ask before I got too deep into implementing the mechanic. Apologies in advance for the wall of text:
Currently, I have a combo system that, while doing a combo, a boolean value prevents the character from moving in any direction or jumping. As I advanced, I began to debate making an enum for tracking the character’s movement restrictions, e.g. “FullBodyAnim” or “NoMovement” for when movement shouldn’t be allowed, “UpperBlend” or “RestrictMovement” for when movement is allowed but some animations shouldn’t be played, etc. This also might be a flawed idea, but I haven’t gotten into it, so also feel free to call me out on this.
Now, I’m implementing ledge climbing. From a ledge, players are allowed climb onto, jump straight up from, jump away from, or drop from the ledge. Depending on the ledge, some of these actions may also be restricted. So, my question is this: should I continue using bools, though it feels like it might get cluttered, move to using an enum, like above, except containing player character statuses to control movement (“InCombo”, “Reloading”, “OnLedge”, etc), or try to figure out movement modes? I say “figure out” because I still don’t quite understand them or how to go about implementing them. I’m also not clear on use cases, aside from when the player’s physics need to be altered…?
Anyway, any advice would be appreciated.