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; }
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(); } }
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(); } }
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(); } }
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(); } }
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); }
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(); } }
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(); }
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; } } } } } } }
public abstract void AddOnSelectedPosition(I_item Item, int position);
public abstract void AddOnEmptySpot(I_item Item);
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; } } }
public void SetInstanceStats(I_item stats) { itemInstance = stats; itemInstance.SetSprite(); }