public void ResetTimer() { if (SqueezeTimer != null) { SqueezeTimer.Reset(); } }
public void ForceFinishTimer(bool nullify = false) { if (nullify) { SqueezeTimer = null; return; } if (SqueezeTimer != null) { SqueezeTimer.Tick(float.MaxValue); } }
protected virtual void Movement() { if (isEnded) { if (isSpinning) { return; } isSpinning = true; IsGlowing = true; soulMate.transform.localPosition = new Vector3(-20, 0, 0); transform.localPosition = new Vector3(20, 0, 0); } else { if (Ammo == 1) { SetScale(minimumSize); } else if (Ammo == 6) { SetScale(maxSize); } else if (Ammo == 3) { SetScale(mediumSize); } Rigidbody.velocity = GamepadHelper.LeftStick * speed; // Collider size change if (Input.GetKey(anotherCharacterInhaleKey) || GamepadHelper.IsSqueezing) { if (!IsSqueezeTimerRunning) { SqueezeTimer = new Timer(squeezeTime, OnTimerComplete); SqueezeTimer.Update = OnTimerUpdate; } SqueezeTimer.Tick(Time.deltaTime); if (!IsIgnited && IsSqueezeTimerRunning && IsGlowing) { isBig = true; } //TODO: This is probably going to run waaaaay tooo often if (isBig && IsSqueezeTimerRunning) { SoulMate.Ammo = 1; Ammo = 6; SoundFx.Exhale(); } } // Creator is big and player let go if (isBig && GamepadHelper.IsSquezzingReleased) { isGlowing = isBig = false; } if (Input.GetKeyUp(anotherCharacterInhaleKey) || GamepadHelper.IsSquezzingReleased || !IsSqueezeTimerRunning) { soulMate.GetComponent <Creator>().Ammo = 3; Ammo = 3; } GamePadeCheck(); } }