public void GetGameItem(List <ItemData> items)
    {
        if (container == null)
        {
            throw new Exception("You must provide a container to your GameItemContainerInserter");
        }
        else
        {
            List <SelectedGenerationItem> giveItems = new List <SelectedGenerationItem>();

            int GenerationID = 0;

            foreach (ItemData item in items)
            {
                if (item.IsGenerated)
                {
                    GenerationID = item.GenerationID;
                }

                SelectedGenerationItem selectItem = new SelectedGenerationItem();

                selectItem.ItemId = item.ItemID;
                selectItem.Amount = item.stackSize;

                AddItemToGenerationPackage("User", item.GenerationID, container.GetComponentInChildren <PersistentItemContainer>().Location, selectItem);

                giveItems.Add(selectItem);
            }

            InitialUpdateContainerDisplay(giveItems);
        }
    }
示例#2
0
    public void InitializeItemIDs(SelectedGenerationItem selectedItem)
    {
        selectedItems.Add(selectedItem);

        if (!isGenerateTimerStarted)
        {
            isGenerateTimerStarted = true;
        }
    }
示例#3
0
    public void AddItemID(SelectedGenerationItem selectedItem)
    {
        SelectedGenerationItem generationItem = selectedItems.Find(x => x.ItemId == selectedItem.ItemId);

        if (generationItem != null)
        {
            generationItem.Amount += selectedItem.Amount;
        }
        else
        {
            selectedItems.Add(selectedItem);
        }
    }
    void AddItemToGenerationPackage(string UserType, int GenerationID, int location, SelectedGenerationItem selectedItem)
    {
        GenerationItemPackage generationItemPackage = CloudGoods.GenerationPackages.Find(x => x.UserType == UserType && x.GenerationID == GenerationID && x.Location == location);

        if (generationItemPackage != null && !generationItemPackage.HasPackageBeenSent())
        {
            Debug.Log("Checking for generation packages: " + generationItemPackage + " has item been sent: " + generationItemPackage.HasPackageBeenSent());
            generationItemPackage.AddItemID(selectedItem);
        }
        else
        {
            CreateGenerationPackage(UserType, GenerationID, location, selectedItem);
        }
    }
    void CreateGenerationPackage(string UserType, int GenerationID, int location, SelectedGenerationItem selectedItems)
    {
        GameObject packageObj = new GameObject();

        packageObj.name = "Generation Package : " + GenerationID;
        GenerationItemPackage generationPackage = packageObj.AddComponent <GenerationItemPackage>();

        generationPackage.UserType     = UserType;
        generationPackage.GenerationID = GenerationID;
        generationPackage.Location     = location;
        generationPackage.InitializeItemIDs(selectedItems);
        generationPackage.targetContainer = container;

        CloudGoods.GenerationPackages.Add(generationPackage);
    }