public void OnPlayerDeath() { --_playerLivesRemaining; if (_playerLivesRemaining > 0) { StartCoroutine(_spawnPlayerOneDelayed()); } else { _spawning = false; // "game over" } GameEventArgs args = GameEventArgs.livesChangedArgs(_playerLivesRemaining, this.gameObject); _playerLivesChangedEvent.Raise(args); }