/// <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;
 }
Esempio n. 2
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. 3
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);
        }
Esempio n. 4
0
 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();
    }
Esempio n. 6
0
        /// <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");
 }