Exemple #1
0
    public void AddItem()
    {
        var armourSlot = Armour.GetArmour();

        item = ScriptableObject.CreateInstance <ArmourPiece>();
        item.Init(RandomNumberGenerator.GetRandom(Armour.GetArmourValue(armourSlot)), armourSlot);

        UpdateSlot();
    }
    public void Init(int value, Armour.PossibleArmourSlots slotName)
    {
        this.ArmourValue = value;
        this.ArmourSlot  = slotName;

        if (value == 0)
        {
            armourType = Armour.ArmourType.Cloth;
        }
        else
        {
            var slotArmourValue = Armour.GetArmourValue(slotName);

            if ((float)value / slotArmourValue < 0.25)
            {
                armourType = Armour.ArmourType.Light;
            }
            else if ((float)value / slotArmourValue < 0.75)
            {
                armourType = Armour.ArmourType.Medium;
            }
            else if ((float)value / slotArmourValue < 1)
            {
                armourType = Armour.ArmourType.Heavy;
            }
        }

        Strength  = RandomNumberGenerator.GetRandom(6);
        Intellect = RandomNumberGenerator.GetRandom(6);
        Stamina   = RandomNumberGenerator.GetRandom(6);

        var attributesSum = Strength + Intellect + Stamina;

        if (attributesSum <= 5)
        {
            rarity = Armour.Rarity.Common;
        }
        else if (attributesSum <= 10)
        {
            rarity = Armour.Rarity.Rare;
        }
        else if (attributesSum <= 14)
        {
            rarity = Armour.Rarity.Epic;
        }
        else
        {
            rarity = Armour.Rarity.Legendary;
        }

        name = string.Format("{0:9} {1:8} {2:10}", rarity.ToString(), armourType.ToString(), ArmourSlot.ToString());

        var path = "images/" + ArmourSlot.ToString().ToLower();

        icon = Resources.Load <Sprite>(path);

        if (icon == null)
        {
            Debug.Log(path);
        }
    }