Esempio n. 1
0
        //обновляет счет в игре (_timeBal нужен для очков рейтинга)
        public void AddScore(int _score)
        {
            switch (ModeGame)
            {
            //Classic
            case GameMode.CLASSIC:
                gameScoreClassicMode += _score;

                //обновляем HI-score в классическом режиме
                if (CurrentGame.HiscoreClassicMode < gameScoreClassicMode)
                {
                    CurrentGame.HiscoreClassicMode = gameScoreClassicMode;
                }

                ScoreUpdateEvent?.Invoke(gameScoreClassicMode);
                break;

            //Levels
            case GameMode.LEVELS:
                CurrentGame.GameScore += _score;
                ScoreUpdateEvent?.Invoke(CurrentGame.GameScore);
                RatingLevelAdd(_score);
                break;

            //Multiplayer
            case GameMode.MULTIPLAYER:
                int fixedScore = 1;                             //фиксировано добавляем одно очко
                ScoreUpdateEvent?.Invoke(fixedScore);           //событие обновлениея счёта
                break;
            }
        }
Esempio n. 2
0
        //обновляет счет при старте игры
        void UpdateScoreOnStart()
        {
            int tempScore = 0;

            switch (ModeGame)
            {
            case GameMode.CLASSIC:
                gameScoreClassicMode = 0;
                tempScore            = gameScoreClassicMode;
                break;

            case GameMode.LEVELS:
                tempScore = CurrentGame.GameScore;
                LevelRatingChangeEvent?.Invoke(0, 0);                         //событие изменения рейтинга
                break;

            case GameMode.MULTIPLAYER:
                Debug.LogWarning("UpdateScoreOnStart() - MULTIPLAYER - NO IMPLEMENT!!!");
                break;

            default:
                Debug.LogWarning("Другой режим игры, счет : " + tempScore);
                break;
            }

            //событие обновления счёта
            ScoreUpdateEvent?.Invoke(tempScore);
        }
    public void SubmitToy(GameObject obj)
    {
        score += RateToy(obj);

        Destroy(obj);

        scoreUpdate.Invoke(score);

        // Spawn new base
        SpawnBase();
    }
Esempio n. 4
0
 //Gets called by the BlockGeneratorScript Event when a block is destroyed
 public void OnBlockDestroyed(BrickEffect[] effects, BallController ballController)
 {
     Debug.Log("ScoreManager : OnBlockDestroyed() Event call");
     currentScore += scoreOfABlock;
     onScoreUpdateEvent.Invoke(currentScore);
 }