public static void InitializateJsonTanks() { jsonTanks = new JsonTanks(); jsonTanks.tanks = new JsonTank[tanks.Count]; for (int i = 0; i < tanks.Count; i++) { Tank tank = tanks.ElementAt(i); List <JsonShell> shells = new List <JsonShell>(); for (int j = 0; j < tank.shells.Count; j++) { shells[j] = new JsonShell() { positionX = tank.shells.ElementAt(j).position.X.ToString(), positionY = tank.shells.ElementAt(j).position.Y.ToString() }; } jsonTanks.tanks[i] = new JsonTank() { slot = i.ToString(), HP = tank.HP.ToString(), rotationAngle = tank.rotationAngle.ToString(), positionX = tank.position.X.ToString(), positionY = tank.position.Y.ToString(), shells = shells }; } }
public static void InitializateJsonTanks() { jsonTanks = new JsonTanks(); jsonTanks.tanks = new JsonTank[numConnectedClients + 1]; for (int i = 0; i < numConnectedClients + 1; i++) { Tank tank = tanks.ElementAt(i); List <JsonShell> shells = new List <JsonShell>(); for (int j = 0; j < tank.shells.Count; j++) { shells.Add(new JsonShell() { positionX = tank.shells.ElementAt(j).position.X.ToString(), positionY = tank.shells.ElementAt(j).position.Y.ToString(), angle = tank.shells.ElementAt(j).angle.ToString() }); } jsonTanks.tanks[i] = new JsonTank() { slot = i.ToString(), HP = tanks.ElementAt(i).HP.ToString(), rotationAngle = tank.rotationAngle.ToString(), positionX = tank.position.X.ToString(), positionY = tank.position.Y.ToString(), shells = shells, shellOnBaraban = tank.shells_on_baraban.ToString() }; } }
public static void ReceiverTanks() { // Создаем UdpClient для чтения входящих данных receivingUdpClient = new UdpClient(localPortGame); IPEndPoint RemoteIpEndPoint = null; try { while (true) { // Ожидание дейтаграммы byte[] receiveBytes = receivingUdpClient.Receive( ref RemoteIpEndPoint); // Преобразуем и отображаем данные string data = Encoding.UTF8.GetString(receiveBytes); if (data != null) { jsonTanks = JsonConvert.DeserializeObject <JsonTanks>(data); } } } catch (Exception ex) { Console.WriteLine("Возникло исключение: " + ex.ToString() + "\n " + ex.Message); } }