void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Lander") { shipHealth.ReduceHealth(); screenShake.AddTrauma(1.0f); Destroy(gameObject); } }
void Update() { if (stopTilt) { return; } float shipAngleOffset = Mathf.PerlinNoise(randomSeed, Time.time); //scale to (-1;1) shipAngleOffset = shipAngleOffset * 2f - 1f; shipAngleOffset *= noiseStrength; shipAngle += shipAngleOffset * Time.deltaTime; shipAngle = Mathf.Clamp(shipAngle, -maxShipAngle, maxShipAngle); outsideCamera.rotation = Quaternion.Euler(0f, 0f, shipAngle * 15f); bool angleInWarningRange = shipAngle > shipAngleToHealthDrop || shipAngle < -shipAngleToHealthDrop; if (healthDropping) { if (!angleInWarningRange) { warning.EndWarning(); healthDropping = false; healthDropTimer = 0f; } healthDropTimer += Time.deltaTime; if (healthDropTimer > timeUntilHealthDrop) { health.ReduceHealth(); screenShake.AddTrauma(0.5f); shipAngle = 0f; healthDropTimer = 0f; } } else if (angleInWarningRange) { healthDropping = true; warning.StartWarning(); } }