private void GetInfo(Session session, Packet packet) { var reply = new Packet(packet); uint id; try { id = packet.GetUInt32(); } catch (Exception) { ReplyError(session, packet, Error.Unexpected); return; } ITribe tribe; locker.Lock(id, out tribe).Do(() => { if (tribe == null) { ReplyError(session, packet, Error.TribeNotFound); return; } PacketHelper.AddTribeInfo(strongholdManager, tribeManager, session, tribe, reply); session.Write(reply); }); }
private void GetInfoByName(Session session, Packet packet) { var reply = new Packet(packet); string name; try { name = packet.GetString(); } catch (Exception) { ReplyError(session, packet, Error.Unexpected); return; } uint id; if (!tribeManager.FindTribeId(name, out id)) { ReplyError(session, packet, Error.TribeNotFound); return; } ITribe tribe; locker.Lock(id, out tribe).Do(() => { if (tribe == null) { ReplyError(session, packet, Error.Unexpected); return; } PacketHelper.AddTribeInfo(strongholdManager, tribeManager, session, tribe, reply); session.Write(reply); }); }