public void AddItemAmount(Item item, int amount)
    {
        ContainerItemData itemData = ContainterItemsData.SingleOrDefault(citem => citem.item.ID == item.ID);

        itemData.amount += amount;
        inventory.GetContainerItem(item.ID).amount = itemData.amount;
    }
        private ContainerItemData ParseContainerData(BinaryReader r)
        {
            var c = new ContainerItemData();

            c.NextObjectID = r.ReadUInt16();

            c.NextContainedObjectID = new ObjectID(r.ReadUInt16());
            r.ReadUInt32(); //padding
            return(c);
        }
        private IList <ContainerItemData> ReadContainersData(BinaryReader r)
        {
            var c = new ContainerItemData[Data.ContainersCount];

            for (int i = 0; i < Data.ContainersCount; i++)
            {
                c[i] = ParseContainerData(r);
            }

            return(c);
        }
        public IGrabableItem CreateContainer(ContainerItemData container)
        {
            container.Processed = true;
            var initializator = new ContainerInitializer
            {
                content = container
                          .GetEnumerator(builder.Data)
                          .Select(x => CreateItem(x, CurrentTile))
                          .ToArray()
            };

            return(builder.ContainerFactories[descriptor.InCategoryIndex].Create(initializator));
        }
    public void StoreItem(Item item, int amount, CustomItemData customData = null)
    {
        GameObject        coItem        = Instantiate(inventory.containerItem, inventory.ContainterContent.transform);
        ContainerItemData itemData      = new ContainerItemData(item, amount, customData);
        ContainerItem     containerItem = coItem.GetComponent <ContainerItem>();

        containerItem.inventoryContainer = this;
        containerItem.item       = item;
        containerItem.amount     = amount;
        containerItem.customData = customData;
        coItem.name = "CoItem_" + item.Title.Replace(" ", "");
        ContainterItemsData.Add(itemData);
        inventory.ContainterItemsCache.Add(coItem.GetComponent <ContainerItem>());
    }
Exemple #6
0
        public IGrabableItem CreateContainer(ContainerItemData container)
        {
            container.Processed = true;
            var initializator = new ContainerInitializer
            {
                content = container
                          .GetEnumerator(builder.Data)
                          .Select(x =>
                {
                    var savedDescriptor = currentDescriptor;
                    var res             = CreateItem(x);//overrides currentDescriptor variable
                    currentDescriptor   = savedDescriptor;
                    return(res);
                })
                          .ToArray()
            };

            return(builder.Factories.ContainerFactories[currentDescriptor.InCategoryIndex].Create(initializator));
        }
 public ItemData CreateContainer(ContainerItemData container)
 {
     currentTile.GrabableItems.Add(container);
     return(container);
 }
        private ContainerItemData ParseContainerData(BinaryReader r)
        {
            var c = new ContainerItemData();
            c.NextObjectID = r.ReadUInt16();

            c.NextContainedObjectID = new ObjectID(r.ReadUInt16());
            r.ReadUInt32(); //padding
            return c;
        }
        private IList<ContainerItemData> ReadContainersData(BinaryReader r)
        {
            var c = new ContainerItemData[Data.ContainersCount];

            for (int i = 0; i < Data.ContainersCount; i++)
                c[i] = ParseContainerData(r);

            return c;
        }