Beispiel #1
0
        private void FillEnemyLoot(GameObject enemy, int maxCount)
        {
            LootInventory loot = enemy.GetComponent <LootInventory>();

            ItemData[] items = Resources.LoadAll <ItemData>("Items/");

            ItemData item = items[Random.Range(0, items.Length)];

            if (!item.isQuestItem)
            {
                loot.Items.Add(item);
            }

            for (int i = 1; i < maxCount; i++)
            {
                if (Random.Range(0, 2) == 0)
                {
                    return;
                }
                item = items[Random.Range(0, items.Length)];
                if (!item.isQuestItem)
                {
                    loot.Items.Add(item);
                }
            }
        }
Beispiel #2
0
 public static void CloseLoot()
 {
     LootInventory.Close();
     if (Instance.activeLoot != null)
     {
         Instance.activeLoot.SetContent(LootInventory.GetContent());
         Instance.activeLoot = null;
     }
 }
Beispiel #3
0
 public void CloseInventory()
 {
     for (int i = 0; i < inventory.Length; i++)
     {
         inventory[i] = inventoryDisplay.Get(i);
     }
     inventoryObj.SetActive(false);
     currentChest = null;
     audioSource.PlayOneShot(chestClip);
 }
Beispiel #4
0
 public void DisplayInventory()
 {
     for (int i = 0; i < inventory.Length; i++)
     {
         inventoryDisplay.Set(i, inventory[i]);
     }
     inventoryObj.SetActive(true);
     currentChest = this;
     audioSource.PlayOneShot(chestClip);
 }
Beispiel #5
0
        private void LootInventoryFunction()
        {
            currType = TYPE_INVENTORY.Loot;

            LootInventory lootInventory = inventoryToShow as LootInventory;
            Button        button        = Instantiate(itemButtonPrefab);

            button.transform.SetParent(actionItemPanel);
            button.transform.Find("Text").GetComponent <Text>().text = "Recover";
            button.onClick.AddListener(() =>
            {
                if (lootInventory.AddItem(currentItemPreview))
                {
                    previewPanel.gameObject.SetActive(false);
                    RemoveButton(currentButtonPreview);
                    RefreshPlayerInfo();
                }
                else
                {
                    ChangeColor(button,Color.red);
                }
            });
        }
Beispiel #6
0
        public GameObject CreateBoss(GameObject bossPrefab)
        {
            GameObject boss = Instantiate(bossPrefab);

            int playerLevel = GameManager.Instance.PlayerInstance.GetComponent <Character.Character>().Level;

            IncreaseStatsBasedOnLevel(boss, playerLevel);

            Character.Character bossStats = boss.GetComponent <Character.Character>();
            bossStats.Strength     *= 2;
            bossStats.Constitution *= 2;
            bossStats.Dexterity    *= 2;
            bossStats.Intelligence *= 2;

            ItemData      skull = Resources.Load <ItemData>("Items/Skull");
            LootInventory loot  = boss.GetComponent <LootInventory>();

            loot.Items.Add(skull);


            enemies.Add(boss);

            return(boss);
        }
Beispiel #7
0
    private void FillChestLoot(LootInventory inventory, int maxSize)
    {
        ItemData[] items = Resources.LoadAll <ItemData>("Items/");

        ItemData item = items[Random.Range(0, items.Length)];

        if (!item.isQuestItem)
        {
            inventory.Items.Add(item);
        }

        for (int i = 1; i < maxSize; i++)
        {
            if (Random.Range(0, 3) == 0)
            {
                return;
            }
            item = items[Random.Range(0, items.Length)];
            if (!item.isQuestItem)
            {
                inventory.Items.Add(item);
            }
        }
    }
Beispiel #8
0
 public static void OpenLoot(Pickable lootBag)
 {
     Instance.activeLoot = lootBag;
     LootInventory.SetContent(lootBag.GetContent(), 10);
     LootInventory.Open();
 }