/// <summary>
        /// Sends BResponseGetContainerNumSlots.
        /// </summary>
        /// <param name="s">The session.</param>
        /// <param name="p">Packet PacketBRequestInventoryDataPacket, PacketBRequestPopulateVendor or BRequestCityDataPacket.</param>
        /// <param name="i">The container information.</param>
        /// <param name="flag">Flag.</param>
        public static void SendResponseGetContainerNumSlots(Session s, Package p, ModelInventoryInfo i, byte flag = 0)
        {
            Character ObjCharacter = s.Player.Empire.CurrentCharacter;

            PacketBResponseGetContainerNumSlots ResponseContent = new PacketBResponseGetContainerNumSlots(ObjCharacter.Id, i.Id, i.Maxcapacity, 0, flag);

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

            byte[] Response = ResponseContent.ToByteArray();

            Package Package = new Package(p.HeaderXuid, p.HeaderField20, p.HeaderServiceId, p.HeaderField22, PacketTypes.BResponseGetContainerNumSlots, 0, Response);

            byte[] ToSend = Package.ToByteArray();

            s.Send(ToSend, 0, ToSend.Length);
        }
Example #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)
        {
            PacketBRequestPopulateVendor Request = new PacketBRequestPopulateVendor(p.Content);

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

            ModelInventoryInfo Info = new ModelInventoryInfo()
            {
                Id = Request.Container, Maxcapacity = 0
            };

            if (Database.Vendors.TryGetValue(Request.Vendor, out Vendor v))
            {
                BRequestInventoryDataPacket.SendResponseGetContainerNumSlots(s, p, Info, 0);
                BRequestInventoryDataPacket.SendResponseStringListInventory(s, p, v.ToXml(Request.Container));
            }

            //@TODO log error if not exists
        }
Example #3
0
 public ModelInventory()
 {
     Info      = new ModelInventoryInfo();
     Inventory = new ModelInventoryInventory();
 }