Gum Mechanics

Swinging

 * Player can hook onto "Swingable" surfaces using the X Button.
 * Player remains hooked to the surface as long as the X Button is held down.
 * When hooked onto the surface
 * A rope of gum behaves like a spring when player attempts to pull away from the anchoring point, keeping the player attached to the surface.
 * When the player gets closer to the anchor point through momentum and not through vertical input
 * TODO
 * The spring's length is calculated upon attachment.
 * Player can use the Left Stick to move around
 * Vertically:
 * Vertical movement updates the length of the spring.
 * Spring length is clamped between two min and max values.
 * Clockwise and counter clockwise
 * When he's swinging under the attach point
 * Moving the stick to the left makes the player swing clockwise, giving him a clockwise acceleration for a very short time
 * Moving the stick to the right makes the player swing counter clockwise, giving him a counter clockwise acceleration for a very short time
 * He can only swing once every 2 seconds
 * When he's swinging over the attach point, he moves horizontaly the same way he moves in the air
 * The player can Jump off of the swing by pressing the A button only if he was swinging under the attach point x or less seconds earlier
 * Jumping detaches the grappling hook.
 * If the player had enough speed when swinging under the attach point x or less seconds before jumping, his jump is boosted