Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Hard held values go negative when we "eat" them into a flick or when they go over the hard dir interval, and then we don't zero/begin updating them until the hard input is released
- if (rawPushingInput > HardDirDeadzone && hardUpHeld >= 0) { hardUpHeld += Time.deltaTime; }
- if (rawPushingInput < -HardDirDeadzone && hardDownHeld >= 0) { hardDownHeld += Time.deltaTime; }
- if (rawSteeringInput > HardDirDeadzone && hardRightHeld >= 0) { hardRightHeld += Time.deltaTime; }
- if (rawSteeringInput < -HardDirDeadzone && hardLeftHeld >= 0) { hardLeftHeld += Time.deltaTime; }
- // Then we convert those to flicks (and it "eats" the hard inputs, to avoid multi-frame flicks)
- if (Mathf.Abs(rawPushingInput) < HardDirDeadzone)
- {
- if (hardUpHeld > 0f) { lastUpFlick = Time.timeSinceLevelLoad; hardUpHeld = -1f; }
- if (hardDownHeld > 0f) { lastDownFlick = Time.timeSinceLevelLoad; hardDownHeld = -1f; }
- hardUpHeld = hardDownHeld = 0f;
- }
- if (Mathf.Abs(rawSteeringInput) < HardDirDeadzone)
- {
- if (hardRightHeld > 0f) { lastRightFlick = Time.timeSinceLevelLoad; hardRightHeld = -1f; }
- if (hardLeftHeld > 0f) { lastLeftFlick = Time.timeSinceLevelLoad; hardLeftHeld = -1f; }
- hardLeftHeld = hardRightHeld = 0f;
- }
- // Eat any hard dir holds that have gone over the interval (now they're just holds, nothing hard about them)
- if (hardUpHeld >= HardDirInterval) { hardUpHeld = -1f; }
- if (hardDownHeld >= HardDirInterval) { hardDownHeld = -1f; }
- if (hardRightHeld >= HardDirInterval) { hardRightHeld = -1f; }
- if (hardLeftHeld >= HardDirInterval) { hardLeftHeld = -1f; }
- // Now sweep directional flicks into wide trasitional flicks
- if (lastRightFlick == Time.timeSinceLevelLoad && lastRightFlick - lastLeftFlick < FlickInterval) { lastLeftRightFlick = Time.timeSinceLevelLoad; }
- if (lastLeftFlick == Time.timeSinceLevelLoad && lastLeftFlick - lastRightFlick < FlickInterval) { lastRightLeftFlick = Time.timeSinceLevelLoad; }
- if (lastUpFlick == Time.timeSinceLevelLoad && lastUpFlick - lastDownFlick < FlickInterval) { lastDownUpFlick = Time.timeSinceLevelLoad; }
- if (lastDownFlick == Time.timeSinceLevelLoad && lastDownFlick - lastUpFlick < FlickInterval) { lastUpDownFlick = Time.timeSinceLevelLoad; }
Advertisement
Add Comment
Please, Sign In to add comment