Exemple #1
0
        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);
            });
        }
Exemple #2
0
        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);
            });
        }