Exemple #1
0
 private void OnBallDestroyed(BallDestroyByGiantLaserEventArgs obj)
 {
     _ballGrid.Remove(obj.BallController.GridPosition);
     if (_ballGrid.ActiveBalls == 0)
     {
         GameManager.Instance.EventBus.Broadcast(new GameOverEventArgs(GameOverCondition.Win));
     }
     else
     {
         _ballGrid.HandleOrphanedBalls();
     }
 }
        private void OnBallDestroyed(BallDestroyByGiantLaserEventArgs obj)
        {
            var ball         = obj.BallController;
            var ballPosition = ball.Position;
            var newExplosion = _simpleObjectPool.GetObjectFromPool();

            newExplosion.transform.SetParent(transform);
            newExplosion.transform.position = ballPosition;

            var planetSprite   = ball.CurrentBallSprite;
            var magnitudeScale = ball.Magnitude.GetScale();

            var ballDestroyEffect = newExplosion.GetComponent <BallDestroyedByLaserEffect>();

            ballDestroyEffect.RePlayEffect(planetSprite, magnitudeScale);
            _floatingScoreEffectGenerator.ShowScore(GameConstants.ScorePerBall, ballPosition, 0);
        }
Exemple #3
0
 private void OnBallDestroyed(BallDestroyByGiantLaserEventArgs obj)
 {
     _scoreKeeper.ScoreDestroyedBall();
 }