//прибавляет к счётчику собраных мячей public void ExtraBallAdd() { //записуем количество мячей за текущую игру exBalls.TempCount++; StatisticUpdateEvent?.Invoke(AchievementType.COLLECT_BALL_ONE_GAME); //записуем в общее количество собраных мячей CurrentGame.StatisticGame.NumExtraBalls++; StatisticUpdateEvent?.Invoke(AchievementType.COLLECT_BALL_ALL_TIME); }
//Проверка пройден ли новый уровень с максимальным рейтингом void CheckingMaxRating() { //если уровень раньше не достигал максимального рейтинга его прошли на отлично if (CurrentGame.Levels[currentLevel].Rating < 3 && rating.rating == 3) { CurrentGame.StatisticGame.MaxRatingCount++; } StatisticUpdateEvent?.Invoke(AchievementType.MAX_RATING); }
//проверка на количество пройденых уровней void CheckingCompletetedLevels() { //если уровень раньше не был пройден if (CurrentGame.Levels[currentLevel].Status != StatusLevel.COMPLETED) { CurrentGame.StatisticGame.NumCompletedLevels++; } StatisticUpdateEvent?.Invoke(AchievementType.COMPLITED_LEVELS); }
//проверка совершённых шагов void CheckingStepsTaken() { //добавляем счётчик if (StepCount == 1) { CurrentGame.StatisticGame.VictoryOneMove++; } StatisticUpdateEvent?.Invoke(AchievementType.VICTORY_ONE_MOVE); }
//делает подсчёт использования сил void RegisteringUseForce(GameActionType typeForce) { switch (typeForce) { case GameActionType.ICE_FORCE: //Ice CurrentGame.StatisticGame.NumUsedIcePower++; StatisticUpdateEvent?.Invoke(AchievementType.USING_ICE_FORCE); break; case GameActionType.TIME_BOMB: //Bomb CurrentGame.StatisticGame.NumUsedBombPower++; StatisticUpdateEvent?.Invoke(AchievementType.USING_BOMB_FORCE); break; } }
//делаем подсчёт приглашённых друзей поиграть в MP void RegisteringInviteFriends() { CurrentGame.StatisticGame.NumInvitedFriends++; StatisticUpdateEvent?.Invoke(AchievementType.INVITE_FRIENDS); }
//Проверяем игровую серию (в днях) void CheckingPlayingSeries() { StatisticUpdateEvent?.Invoke(AchievementType.PLAYING_DAY_SERIES); }
//проверяем количество запусков в классическом режиме void CheckingRunClassicMode() { CurrentGame.StatisticGame.NumClassicLaunches++; StatisticUpdateEvent?.Invoke(AchievementType.RUN_CLASSIC); }
//проверяем количество запусков в режиме мультиплеера void CheckingRunMultiplayerMode() { CurrentGame.StatisticGame.NumMultiplayerLaunches++; StatisticUpdateEvent?.Invoke(AchievementType.RUN_MP); }
//проверка достижения выиграных игр в MP void CheckingWinsMP() { StatisticUpdateEvent?.Invoke(AchievementType.WINS_MP); }