Added JumpCount(u8) Component for tracking available jumps. Added to player on setup_player.
JumpCount is reset in player_grounded, player_sliding.
when Jumping in player_falling, checks for JumpCount field > 0; if valid jumps and decrements by 1
Gameplay Mechanics Related:
The Air Jump functions the same as the normal grounded jump, with controlled jump height - so unlike in Hollow Knight, where the double jump gives a consistent upwards burst.
Typical platformer mechanic is maintained of only having a single jump when walking of a platform, with respect for coyote time of course :)
The same pertains to jumping when wall-sliding, however jumping from the wall counts as your double jump - since the state transitions into Falling(?). Walking off of a wall allows you to jump in the air as one would expect.
However, this issue with jumping is not too important, as the wall-jump code will need to be modified in the "Wall Jump Pushback" implementation anyways.
Technical Summary:
Gameplay Mechanics Related: The Air Jump functions the same as the normal grounded jump, with controlled jump height - so unlike in Hollow Knight, where the double jump gives a consistent upwards burst. Typical platformer mechanic is maintained of only having a single jump when walking of a platform, with respect for coyote time of course :) The same pertains to jumping when wall-sliding, however jumping from the wall counts as your double jump - since the state transitions into Falling(?). Walking off of a wall allows you to jump in the air as one would expect.
However, this issue with jumping is not too important, as the wall-jump code will need to be modified in the "Wall Jump Pushback" implementation anyways.