示例#1
0
 public void UpdateInv(int row, int col, I_item itemToAdd)
 {
     slotItems[row, col].GetComponent <Image>().sprite = itemToAdd.MySprite;
     slotItems[row, col].transform.SetParent(invSlots[row, col].transform);
     slotItems[row, col].transform.position             = invSlots[row, col].transform.position;
     slotItems[row, col].GetComponent <Image>().enabled = true;
 }
示例#2
0
 public override void AddOnSelectedPosition(I_item Item, int position)
 {
     if ((Item.GetType() == typeof(Person) && TotalWeight + Item.GetWeight() <= MaxWeight) && Items[position] == null)
     {
         Items[position] = Item;
         TotalWeight    += Item.GetWeight();
     }
 }
示例#3
0
 public override void AddOnSelectedPosition(I_item Item, int position)
 {
     if ((Item.GetType() == typeof(Container) || (Item.GetType() == typeof(Package)) && TotalWeight + Item.GetWeight() <= TotalWeight) && Items[position] == null)
     {
         Items[position] = Item;
         TotalWeight    += Item.GetWeight();
     }
 }
示例#4
0
        public override void AddOnEmptySpot(I_item Item)
        {
            double ComparableWeight = GetWeight() + Item.GetWeight();

            if ((Item.GetType() == typeof(Person) && ComparableWeight <= MaxWeight))
            {
                Items.Add(Item);
                TotalWeight += Item.GetWeight();
            }
        }
示例#5
0
        public override void AddOnEmptySpot(I_item Item)
        {
            double ComparableWeight = GetWeight() + Item.GetWeight();

            if ((Item.GetType() == typeof(Container) || (Item.GetType() == typeof(Package)) && ComparableWeight <= TotalWeight))
            {
                Items.Add(Item);
                TotalWeight += Item.GetWeight();
            }
        }
示例#6
0
    private string GetItemType(I_item item)
    {
        string itemType = null;

        if (item.GetType() == typeof(ArmorGem))
        {
            itemType = "ArmorGem";
        }
        else if (item.GetType() == typeof(WeaponGem))
        {
            itemType = "WeaponGem";
        }
        else if (item.GetType() == typeof(SimplePotion))
        {
            itemType = "SimplePotion";
        }

        return(itemType);
    }
示例#7
0
 private void MoveItem()
 {
     if (invMarker.CurrentSlot.StoredItem == null)
     {
         invMarker.CurrentSlot.StoredItem = invMarker.MarkedSlot.StoredItem;
         invMarker.CurrentSlot.CurrentInvUI.UpdateInv(invMarker.CurrentSlot.Row, invMarker.CurrentSlot.Col, invMarker.MarkedSlot.StoredItem);
         invMarker.MarkedSlot.StoredItem = null;
         invMarker.MarkedInvUI.UpdateInv(invMarker.MarkedSlot.Row, invMarker.MarkedSlot.Col);
         invMarker.UnmarkSlot();
     }
     else
     {
         I_item itemDummy = invMarker.CurrentSlot.StoredItem;
         invMarker.CurrentSlot.StoredItem = invMarker.MarkedSlot.StoredItem;
         invMarker.CurrentSlot.CurrentInvUI.UpdateInv(invMarker.CurrentSlot.Row, invMarker.CurrentSlot.Col, invMarker.MarkedSlot.StoredItem);
         invMarker.MarkedSlot.StoredItem = null;
         invMarker.MarkedSlot.StoredItem = itemDummy;
         invMarker.MarkedInvUI.UpdateInv(invMarker.MarkedSlot.Row, invMarker.MarkedSlot.Col, itemDummy);
         invMarker.UnmarkSlot();
     }
 }
示例#8
0
    private void UnequipItem(I_item itemToUnequip)
    {
        switch (GetItemType(itemToUnequip))
        {
        case "ArmorGem":

            ArmorGem ag = (ArmorGem)itemToUnequip;
            playerStats.ArmBonus        -= ag.ArmBonus;
            playerStats.HealthRegen     -= ag.HpRegenBonus;
            playerStats.ManaRegen       -= ag.MpRegenBonus;
            playerStats.StrBonus        -= ag.StrBonus;
            playerStats.DexBonus        -= ag.DexBonus;
            playerStats.IntBonus        -= ag.IntBonus;
            playerStats.FireResistance  -= ag.FireResBonus;
            playerStats.WaterResistance -= ag.WaterResBonus;
            playerStats.EarthResistance -= ag.EarthResBonus;
            playerStats.WindResistance  -= ag.WindResBonus;

            break;

        case "WeaponGem":

            WeaponGem wp = (WeaponGem)itemToUnequip;
            playerStats.ChargePower -= wp.ChargePwrBonus;
            playerStats.AtkBonus    -= wp.AtkDmgBonus;
            playerStats.StrBonus    -= wp.StrBonus;
            playerStats.DexBonus    -= wp.DexBonus;
            playerStats.IntBonus    -= wp.IntBonus;
            playerStats.FireDamage  -= wp.FireDmgBonus;
            playerStats.WaterDamage -= wp.WaterDmgBonus;
            playerStats.EarthDamage -= wp.EarthDmgBonus;
            playerStats.WindDamage  -= wp.WindDmgBonus;

            break;
        }

        playerStats.UpdateBaseStats();
        UpdateStatInfo();
    }
示例#9
0
 public void ItemAquired(I_item item)
 {
     for (int i = 0; i < activeQuestList.Count; i++)
     {
         for (int j = 0; j < activeQuestList[i].QuestObjectives.Count; j++)
         {
             if (CheckObjective(activeQuestList[i].QuestObjectives[j], ObjectiveType.collect))
             {
                 if (activeQuestList[i].QuestObjectives[j].ObjectiveTarget == item.Name)
                 {
                     if (!activeQuestList[i].QuestObjectives[j].ObjectiveComplete)
                     {
                         activeQuestList[i].QuestObjectives[j].ProgressObjective();
                         if (CheckQuestStatus(activeQuestList[i]))
                         {
                             return;
                         }
                     }
                 }
             }
         }
     }
 }
示例#10
0
 public abstract void AddOnSelectedPosition(I_item Item, int position);
示例#11
0
 public abstract void AddOnEmptySpot(I_item Item);
示例#12
0
    private void GenerateTooltip(bool isEmpty)
    {
        Text  itemName     = itemInfo.transform.GetChild(0).GetComponent <Text>();
        Text  itemTier     = itemInfo.transform.GetChild(1).GetComponent <Text>();
        Text  itemHeader   = itemInfo.transform.GetChild(2).GetComponent <Text>();
        Text  itemDesc     = itemInfo.transform.GetChild(3).GetComponent <Text>();
        Image windowBorder = itemInfo.transform.GetChild(6).GetComponent <Image>();

        List <Text> statList = new List <Text>();
        Dictionary <string, float> foundStats = new Dictionary <string, float>();

        for (int i = 0; i < 5; i++)
        {
            statList.Add(itemInfo.transform.GetChild(4).transform.GetChild(i).GetComponent <Text>());
        }

        for (int i = 0; i < 5; i++)
        {
            statList.Add(itemInfo.transform.GetChild(5).transform.GetChild(i).GetComponent <Text>());
        }

        Color propertyColor;

        if (!isEmpty)
        {
            I_item currentItem = invMarker.CurrentSlot.StoredItem;
            itemName.text   = currentItem.Name;
            itemDesc.text   = currentItem.Description;
            itemTier.text   = "Tier " + currentItem.Tier;
            itemHeader.text = "[" + currentItem.HeaderDescription + "]";

            switch (currentItem.Tier)
            {
            case 1:

                propertyColor      = new Color(0, 255, 0);
                itemTier.color     = propertyColor;
                windowBorder.color = propertyColor;

                break;

            case 2:

                propertyColor      = new Color(0, 255, 255);
                itemTier.color     = propertyColor;
                windowBorder.color = propertyColor;

                break;
            }

            switch (GetItemType(currentItem))
            {
            case "ArmorGem":

                propertyColor    = new Color(0, 0.3656104f, 1);
                itemHeader.color = propertyColor;

                for (int i = 0; i < statList.Count; i++)
                {
                    statList[i].text = null;
                }

                ArmorGem ag = (ArmorGem)currentItem;
                foundStats = ag.GetStats();
                int statIndex = 0;

                foreach (KeyValuePair <string, float> stat in foundStats)
                {
                    if (stat.Value > 0)
                    {
                        statList[statIndex].text = "+ " + stat.Value + " " + stat.Key;
                        statIndex++;
                    }
                    else if (stat.Value < 0)
                    {
                        statList[statIndex].text = "- " + Mathf.Abs(stat.Value) + " " + stat.Key;
                        statIndex++;
                    }
                    else
                    {
                        statList[statIndex].text = null;
                    }
                }

                break;

            case "WeaponGem":

                propertyColor    = new Color(1, 0, 0.2169275f);
                itemHeader.color = propertyColor;

                for (int i = 0; i < statList.Count; i++)
                {
                    statList[i].text = null;
                }

                WeaponGem wg = (WeaponGem)currentItem;
                foundStats = wg.GetStats();
                statIndex  = 0;

                foreach (KeyValuePair <string, float> stat in foundStats)
                {
                    if (stat.Value > 0)
                    {
                        statList[statIndex].text = "+ " + stat.Value + " " + stat.Key;
                        statIndex++;
                    }
                    else if (stat.Value < 0)
                    {
                        statList[statIndex].text = "- " + Mathf.Abs(stat.Value) + " " + stat.Key;
                        statIndex++;
                    }
                    else
                    {
                        statList[statIndex].text = null;
                    }
                }

                break;

            case "SimplePotion":

                propertyColor    = new Color(1, 0, 1);
                itemHeader.color = propertyColor;

                for (int i = 0; i < statList.Count; i++)
                {
                    statList[i].text = null;
                }

                SimplePotion sp = (SimplePotion)currentItem;
                foundStats = sp.GetStats();
                statIndex  = 0;

                foreach (KeyValuePair <string, float> stat in foundStats)
                {
                    if (stat.Key == "Recovery time")
                    {
                        statList[statIndex].text = stat.Value + "s " + stat.Key;
                    }
                    else
                    {
                        if (stat.Value > 0)
                        {
                            statList[statIndex].text = "+ " + stat.Value + " " + stat.Key;
                            statIndex++;
                        }
                        else if (stat.Value < 0)
                        {
                            statList[statIndex].text = "- " + Mathf.Abs(stat.Value) + " " + stat.Key;
                            statIndex++;
                        }
                        else
                        {
                            statList[statIndex].text = null;
                        }
                    }
                }

                break;
            }
        }
        else
        {
            itemName.text      = null;
            itemTier.text      = null;
            itemHeader.text    = null;
            itemDesc.text      = null;
            windowBorder.color = Color.white;

            for (int i = 0; i < statList.Count; i++)
            {
                statList[i].text = null;
            }
        }
    }
示例#13
0
 public void SetInstanceStats(I_item stats)
 {
     itemInstance = stats;
     itemInstance.SetSprite();
 }