Пример #1
0
        /// <summary>
        /// Executes the command and sends response.
        /// </summary>
        /// <param name="s">The session.</param>
        /// <param name="i">The package info.</param>
        public override void ExecuteCommand(Session s, Package p)
        {
            PacketBRequestCityDataPacket Request = new PacketBRequestCityDataPacket(p.Content);

            if (s.Logger.IsDebugEnabled)
            {
                s.Logger.Debug($"Execute command: {Request}");
            }

            _SendResponseCityDataStart(s, p, Request);
            _SendResponseGetContainerNumSlots(s, p, Request);


            /*
             * @TODO
             * //Inventory
             * new BCharacterStringListPacket(StringListTypes.Inventory, BRequestRetrievePersistentData.characterID, chRequestID, this).send();
             * inventorySet = true;
             *
             * //BUnitClientStatePacket
             * new BUnitClientStatePacket(0, chRequestID, this).send();
             *
             *
             */


            _SendCityDataComplete(s, p, Request);
        }
Пример #2
0
        /// <summary>
        /// Executes the command and sends response.
        /// </summary>
        /// <param name="s">The session.</param>
        /// <param name="p">The package info.</param>
        public override void ExecuteCommand(Session s, Package p)
        {
            PacketBRequestCityDataPacket Request = new PacketBRequestCityDataPacket(p.Content);

            Logger.Debug($"{p.Key}::ExecuteCommand - Execute command: {Request}");

            SendResponseCityDataStart(s, p);
            SendResponseUnitClientState(s, p);

            BRequestInventoryDataPacket.InitInventory(s, p);

            SendCityDataComplete(s, p);
        }
Пример #3
0
        /// <summary>
        /// Sends BResponseCityDataCompletePacket.
        /// </summary>
        /// <param name="s">The session.</param>
        /// <param name="p">Packet PacketBRequestCityDataPacket.</param>
        /// <param name="r">Packet PacketBRequestCityDataPacket content.</param>
        private static void _SendCityDataComplete(Session s, Package p, PacketBRequestCityDataPacket r)
        {
            PacketBResponseCityDataCompletePacket ResponseContent = new PacketBResponseCityDataCompletePacket(p.HeaderXuid);

            if (s.Logger.IsDebugEnabled)
            {
                s.Logger.Debug($"Command response: {ResponseContent}");
            }

            byte[] Response = ResponseContent.ToByteArray();

            Package Package = new Package(p.HeaderXuid, p.HeaderField20, p.HeaderServiceId, p.HeaderField22, (byte)PacketTypes.BResponseCityDataCompletePacket, p.HeaderRequestId, Response);

            byte[] ToSend = Package.ToByteArray();

            s.Send(ToSend, 0, ToSend.Length);
        }
Пример #4
0
 /// <summary>
 /// Sends GetContainerNumSlots.
 /// </summary>
 /// <param name="s">The session.</param>
 /// <param name="p">Packet BRequestRetrievePersistentData.</param>
 /// <param name="r">Packet BRequestRetrievePersistentData content.</param>
 private static void _SendResponseGetContainerNumSlots(Session s, Package p, PacketBRequestCityDataPacket r)
 {
     //@TODO
 }