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); } } }
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(); } }