void OnBeforeTimeChanged(BeforeTimeChangedData args) { if (Time.time - lastTimeChange < Cooldown) { args.canceled = true; return; } lastTimeChange = Time.time; }
public bool ChangeTimeScale(float newValue) { var args = new BeforeTimeChangedData(); args.oldValue = Time.timeScale; args.newValue = Time.timeScale; BeforeTimeChanged.Invoke(args); if (!args.canceled) { Time.timeScale = newValue; } return(args.canceled); }