//обновляет счет в игре (_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; } }
//обновляет счет при старте игры 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(); }
//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); }