public void TurnOffGuntime() { player.GetComponent <Rigidbody>().useGravity = true; player.animator.speed /= GUNTIME_SLOWDOWN_FACTOR; // Magic Numbers Ahead... if (player.data.maxSpeed == player.data.groundSpeed) { player.data.groundSpeed /= GUNTIME_SLOWDOWN_FACTOR; player.data.maxSpeed = player.data.groundSpeed; player.data.airSpeed /= GUNTIME_SLOWDOWN_FACTOR; } else if (player.data.maxSpeed == player.data.airSpeed) { player.data.airSpeed /= GUNTIME_SLOWDOWN_FACTOR; player.data.maxSpeed = player.data.airSpeed; player.data.groundSpeed /= GUNTIME_SLOWDOWN_FACTOR; } player.data.jumpDistance /= GUNTIME_SLOWDOWN_FACTOR; Time.timeScale = 1f; Time.fixedDeltaTime = 0.016f * Time.timeScale; inGuntime = false; OnInGuntimeChanged?.Invoke(); }
public void ToggleGuntime(InputAction.CallbackContext context) { inGuntime = !inGuntime; OnInGuntimeChanged?.Invoke(); if (inGuntime) { // Magic Numbers Ahead... Time.timeScale = 0.5f; Time.fixedDeltaTime = 0.016f * Time.timeScale; player.GetComponent <Rigidbody>().useGravity = false; player.animator.speed *= GUNTIME_SLOWDOWN_FACTOR; if (player.data.maxSpeed == player.data.groundSpeed) { player.data.groundSpeed *= GUNTIME_SLOWDOWN_FACTOR; player.data.maxSpeed = player.data.groundSpeed; player.data.airSpeed *= GUNTIME_SLOWDOWN_FACTOR; } else if (player.data.maxSpeed == player.data.airSpeed) { player.data.airSpeed *= GUNTIME_SLOWDOWN_FACTOR; player.data.maxSpeed = player.data.airSpeed; player.data.groundSpeed *= GUNTIME_SLOWDOWN_FACTOR; } player.data.jumpDistance *= GUNTIME_SLOWDOWN_FACTOR; } else { TurnOffGuntime(); } }