コード例 #1
0
    public PlayerItem getRandomItem(int stageNumber)
    {
        int        r    = UnityEngine.Random.Range(0, allItemsInGame.Count);
        PlayerItem item = new PlayerItem(allItemsInGame[r], stageNumber);

        if (item.type == ItemType.Body)
        {
            //Potion
            item.addModifier(new PotionModifier(1));
            item.consumable = true;
            return(item);
        }

        int modifCap = UnityEngine.Random.Range(1, Mathf.Min(4, stageNumber));

        item.rarity = modifCap;

        for (int i = 0; i < modifCap; ++i)
        {
            int rarityModifier = 0;
            if (UnityEngine.Random.value > 0.99)
            {
                Debug.Log("WAow +1");
                rarityModifier = 1;
                item.rarity   += 1;
            }

            item.addModifier(ItemModifierEffect.getRandomModifierOfLevel(stageNumber - i + rarityModifier));
        }

        return(item);
    }