private void OnCollisionEnter(Collision other) { if (other.collider.CompareTag("Floor") && _slowMotionEffect) { SlowMotion.StartSlowMotion(); } }
private void OnTriggerEnter(Collider other) { if (other.gameObject.layer == LayerMask.NameToLayer("Player")) { gameObject.SetActive(false); // Prevent double activation SlowMotion.StartSlowMotion(); player.ActivateLaser(); } }
void WaveForce() { if (OnHold != null) { OnHold(); } _slowMotion.StartSlowMotion(); WaveState = WaveState.IsWaving; _rigidbody.velocity = Vector3.zero; _waveForce = CurrentWave.WaveForceLimits.x; DOTween.To(() => _waveForce, x => _waveForce = x, CurrentWave.WaveForceLimits.y, CurrentWave.MaxForceDuration) .SetEase(Ease.OutQuad) .OnUpdate(() => WaveForceDebug = _waveForce / CurrentWave.WaveForceLimits.y).SetId("Wave") .OnComplete(() => { if (WaveState == WaveState.IsWaving && GameManager.Instance.GameState != GameState.GameOver) { Wave(); } }); }