/// <summary> /// Reset values for a fresh playthrough /// </summary> /// <param name="playerLives"></param> public void SetupLevel(int playerLives) { MaxLives = CurrentLifes = playerLives; CurrentScore = 0; ScoreUpdateEvent.Trigger(CurrentScore); _conditionCounter = 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; } }
//обновляет счет при старте игры 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); }
void Awake() { scoreUpdate = new ScoreUpdateEvent(); livesUpdate = new ScoreUpdateEvent(); if (instance == null) { instance = this; } }
// Use this for initialization void Start() { time = maxTime; if (scoreUpdate == null) { scoreUpdate = new ScoreUpdateEvent(); } if (timeUpdate == null) { timeUpdate = new TimeUpdateEvent(); } SpawnBase(); }
/// <summary> /// Handle a score reset packet received from the server /// </summary> /// <param name="buffer"></param> private void HandleScoreReset(Byte[] buffer) { ScoreResetPacket packet = new ScoreResetPacket(); // Parse the score reset packet packet.Packet = buffer; if (packet.Event.PlayerId == 0xFFFF) { // Update every player in the arena foreach (PlayerInfo p in m_playerHandler.PlayerData.Values) { ScoreUpdateEvent scoreEvent = new ScoreUpdateEvent(); // Set the event information scoreEvent.PlayerId = p.PlayerId; scoreEvent.PlayerName = p.PlayerName; scoreEvent.ModLevel = p.ModeratorLevel; // Add the event to the core event queue m_eventQueue.Add(packet.Event); // Update the player database p.ScoreUpdate = scoreEvent; } } else { // Get the player information PlayerInfo playerInfo = m_playerHandler.PlayerInformation(packet.Event.PlayerId); if (playerInfo != null) { // Set the player name and moderator level in the event packet.Event.PlayerName = playerInfo.PlayerName; packet.Event.ModLevel = playerInfo.ModeratorLevel; } // Add the event to the core event queue m_eventQueue.Add(packet.Event); } }
public void AddScore(int scoreToAdd) { CurrentScore += scoreToAdd; HighScore = Mathf.Max(CurrentScore, HighScore); ScoreUpdateEvent.Trigger(CurrentScore); }
public void OnEvent(ScoreUpdateEvent eventType) { // Update the score ui texts _currenScoreText.text = eventType.NewScore.ToString("n0"); _highScoreText.text = _gameManager.HighScore.ToString("n0"); }