private static void onAtho(object arg1, ResEventArgs arg2) { try { if (arg2.PackSendData.AllData.Count < 4) { throw new Exception("Atho Function Not Count is " + arg2.PackSendData.AllData.Count.ToString() + " Must be or more 4 "); } var username = arg2.PackSendData.AllData.Find(x => x.PramterName == 0).DataS.ToString(); var password = arg2.PackSendData.AllData.Find(x => x.PramterName == 1).DataS.ToString(); var id = Convert.ToInt32(arg2.PackSendData.AllData.Find(x => x.PramterName == 2).DataS); var Room = Convert.ToInt32(arg2.PackSendData.AllData.Find(x => x.PramterName == 3).DataS); var zone = ZoneMaster.GetZoneBy(id); if (arg2.ConnctionType == Interface.Connctions.ConnctionType.UDP) { if (zone != null) { if (ZoneMaster.CanLoginToZoneBy(username, password, zone)) { IUser user; ZoneMaster.AddUserToRoomLubbyBy(username, password, Room, ref zone, arg2.UserSenderAllInfo, out user); if (user.ConnctionUDP == null) { user.ConnctionUDP = new StateObjectupb(); user.ConnctionUDP.user = user; var portout = 0; var v = user.ConnctionUDP; if (server.WatchUdpByPort(ref v, out portout)) { var newdatapack = new List <Core.Data.Data>(); newdatapack.Add(new Core.Data.Data(user.IdIntTempUDP, 0)); newdatapack.Add(new Core.Data.Data(portout, 1)); var newpacket = new PackSendData(5, newdatapack); server.Sendudp(arg2.UserSenderAllInfo.workSocket, newpacket, arg2.UserSenderAllInfo.IPEndPointUDP); } else { throw new CanNotWatchUdpPort(); } } else { var newdatapack = new List <Core.Data.Data>(); newdatapack.Add(new Core.Data.Data(user.IdIntTempUDP, 0)); newdatapack.Add(new Core.Data.Data((user.ConnctionUDP.workSocket.LocalEndPoint as IPEndPoint).Port, 1)); var newpacket = new PackSendData(5, newdatapack); server.Sendudp(arg2.UserSenderAllInfo.workSocket, newpacket, arg2.UserSenderAllInfo.IPEndPointUDP); } } } } else { if (zone != null) { if (ZoneMaster.CanLoginToZoneBy(username, password, zone)) { IUser user; ZoneMaster.AddUserToRoomLubbyBy(username, password, Room, ref zone, arg2.UserSenderAllInfo, out user); if (user.ConnctionTCP == null) { user.ConnctionTCP = arg2.UserSenderAllInfo; user.ConnctionTCP.user = user; arg2.UserSenderAllInfo.user = user; } } } } } catch (UserNameOrPasswordError e) { #if DEBUG Console.WriteLine(e.ToString()); #endif } catch (Exception e) { #if DEBUG Console.WriteLine(e.ToString()); #endif } finally { } }