public void SendMessage(IPackage msg, IAddresssee Target) { Byte[] msg_bytes = get_msg_bytes(msg); try { _lockal_udp_client.Send(msg_bytes, msg_bytes.Length, Target.RemoteEndPoint); } catch (Exception ex) { Console.WriteLine(" ..logoff"); } }
private void SendStartGame(IAddresssee toAddresssee = null) { IPackage pack = new Package(); pack.MesseggeType = MesseggeType.StartGame; var adress = Owner as IRoom; if (toAddresssee == null) { Owner.Sender.SendMessage(pack, adress.Gamers); } else { Owner.Sender.SendMessage(pack, toAddresssee); //нужно для присоединившхся в ходе игры } }
/// <summary> /// Метод реализирующий уведомление игроков о конце игры /// </summary> private void SendEndGame(IAddresssee toAddresssee = null) { IPackage pack = new Package(); pack.Data = _winner; // сделал _winner приватным на уровне класса, присваивается в CheckWin pack.MesseggeType = MesseggeType.EndGame; var adress = Owner as IRoom; if (toAddresssee == null) { Owner.Sender.SendMessage(pack, adress.Gamers); } else { Owner.Sender.SendMessage(pack, toAddresssee); //нужно для присоединившхся в ходе игры (пока комната не закрыта, но конец игры наступил) } }
public void AddAddressee(string Id, IAddresssee addresssee) { this.adresee_list.Add(Id, addresssee); }
public void SendMessage(IPackage msg, IAddresssee Target) { Byte[] msg_bytes = get_msg_bytes(msg); _lockal_udp_client.Send(msg_bytes, msg_bytes.Length, Target.RemoteEndPoint); }
public void AddAddressee(string Id, IAddresssee addresssee) { //this.adresee_list.Add(Id, addresssee); this.adresee_list[Id] = addresssee; }