Пример #1
0
        private void OnBattleStart(string[] data)
        {
            IsInBattle = true;
            Battle     = new Battle(data, PlayerName);

            _movements.Clear();
            _battleTimeout.Set();

            BattleStarted?.Invoke();

            string[] messages = Battle.Message.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string message in messages)
            {
                if (!Battle.ProcessMessage(Team, message))
                {
                    BattleMessage?.Invoke(message);
                }
            }
        }
Пример #2
0
        private void OnBattleData(string[] data)
        {
            _battleTimeout.Set(Rand.Next(5000, 8000));

            string[] messages = data[5].Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string message in messages)
            {
                if (!Battle.ProcessMessage(_team, message))
                {
                    BattleMessage?.Invoke(message);
                }
            }

            TeamUpdated?.Invoke();

            if (Battle.IsFinished)
            {
                _sendBattleRefresh = true;
                IsInBattle         = false;
                Battle             = null;
                BattleEnded?.Invoke();
            }
        }