// Start is called before the first frame update void Start() { m_item = null; m_slot = null; g = transform.Find("ShowItemInfoBg").gameObject; m_itemImg = transform.Find("ShowItemInfoBg/ItemImg").GetComponent <Image>(); m_itemName = transform.Find("ShowItemInfoBg/ItemImg/ItemName").GetComponent <Text>(); m_strength = transform.Find("ShowItemInfoBg/Strength").GetComponent <Text>(); m_defense = transform.Find("ShowItemInfoBg/Defense").GetComponent <Text>(); m_desc = transform.Find("ShowItemInfoBg/Desc").GetComponent <Text>(); m_useitem = transform.Find("ShowItemInfoBg/Use").GetComponent <Button>(); m_putOnitem = transform.Find("ShowItemInfoBg/Puton").GetComponent <Button>(); m_takeOffitem = transform.Find("ShowItemInfoBg/TakeOff").GetComponent <Button>(); m_dump = transform.Find("ShowItemInfoBg/Dump").GetComponent <Button>(); m_dump.onClick.AddListener(Dump); m_putOnitem.onClick.AddListener(PutOnItem); m_takeOffitem.onClick.AddListener(TakeOffItem); //wear equipment GameObject w = GameObject.Find("InventoryCanvas").transform.Find("CharEquipment").gameObject; if (w != null) { m_weapon = w.transform.Find("WeaponSlot").GetComponent <CharEquipmentSlot>(); m_helmet = w.transform.Find("HelmetSlot").GetComponent <CharEquipmentSlot>(); m_armor = w.transform.Find("ArmorSlot").GetComponent <CharEquipmentSlot>(); m_shoulder = w.transform.Find("ShoulderSlot").GetComponent <CharEquipmentSlot>(); m_pants = w.transform.Find("PantsSlot").GetComponent <CharEquipmentSlot>(); m_shoes = w.transform.Find("ShoesSlot").GetComponent <CharEquipmentSlot>(); } }
private void SetItem(CharEquipmentSlot slot) { slot.item = m_item; Static.InvenItemRemoveList(m_item); m_slot.item = null; Static.AddList(slot.item); g.SetActive(false); }
public void ReturnAfterUnnequip(StatsAtributte stat, ItemConfig item, CharEquipmentSlot equippedOn) { if (statCollection.ContainsKey(stat) && statCollection[stat].isModifiedByItem && GetEquippedItem(equippedOn) != null) { statCollection[stat].value -= statCollection[stat].GetSpecificValueModifiedByItem(equippedOn); statCollection[stat].isModifiedByItem = false; SetEquippedItem(equippedOn, null); } }
private void ChangeItem(CharEquipmentSlot slot) { Item temp = slot.item; slot.item = m_item; Static.InvenItemChangeList(temp, m_item); m_slot.item = temp; Static.AddList(slot.item); g.SetActive(false); }
public ItemConfig GetEquippedItem(CharEquipmentSlot equippedOn) { switch (equippedOn) { case CharEquipmentSlot.LeftHand: return(equippedItem[0]); case CharEquipmentSlot.Book: return(equippedItem[1]); case CharEquipmentSlot.RightHand: return(equippedItem[2]); default: return(equippedItem[0]); } }
private void ApplyEquipableItemEffect(BaseStats target, ItemConfig item, CharEquipmentSlot equipedOn) { if (itemEffect == ItemEffect.IncreaseStatTemporarily) { if (target.GetEquippedItem(equipedOn) == item) { target.ReturnAfterUnnequip(attributteToModify, item, equipedOn); } else { target.ModifyStatByEquip(attributteToModify, modifier, item, equipedOn); } } }
public void EquipSlotOfSetItem(Item item, GameObject slot) { g.SetActive(true); m_itemImg.sprite = item.itemImage; m_itemName.text = item.itemName; m_strength.text = item.itemStrength.ToString(); m_defense.text = item.itemDefense.ToString(); m_desc.text = item.itemDesc; m_item = item; m_equipSlot = slot.GetComponent <CharEquipmentSlot>(); m_useitem.gameObject.SetActive(false); m_takeOffitem.gameObject.SetActive(true); m_putOnitem.gameObject.SetActive(false); }
public int GetSpecificValueModifiedByItem(CharEquipmentSlot slot) { switch (slot) { case CharEquipmentSlot.LeftHand: return(valueModifierByItem[0]); case CharEquipmentSlot.Book: return(valueModifierByItem[1]); case CharEquipmentSlot.RightHand: return(valueModifierByItem[2]); default: return(0); } }
private void SetEquippedItem(CharEquipmentSlot slotToEquip, ItemConfig item) { switch (slotToEquip) { case CharEquipmentSlot.LeftHand: equippedItem[0] = item; return; case CharEquipmentSlot.Book: equippedItem[1] = item; return; case CharEquipmentSlot.RightHand: equippedItem[2] = item; return; } return; }
public void SetSpecificValueModifiedByItem(CharEquipmentSlot slot, int value) { switch (slot) { case CharEquipmentSlot.LeftHand: valueModifierByItem[0] = value; break; case CharEquipmentSlot.Book: valueModifierByItem[1] = value; break; case CharEquipmentSlot.RightHand: valueModifierByItem[2] = value; break; default: break; } }
private void AddItemToEquipmentSlot(ItemConfig item, CharEquipmentSlot slotNeeded, BaseStats member) { member.ModifyStatByEquip(item.GetAttributeToModify(), item.GetAdditiveModifiers(), item, slotNeeded); playerInventory.RemoveItem(item, 1); }
private void ReturnItemToInventory(CharEquipmentSlot slotNeeded, BaseStats member, ItemConfig currentEquippedItem) { member.ReturnAfterUnnequip(currentEquippedItem.GetAttributeToModify(), currentEquippedItem, slotNeeded); playerInventory.AddItem(currentEquippedItem, 1); }
public void ModifyStatByEquip(StatsAtributte stat, int value, ItemConfig item, CharEquipmentSlot equipOn) { if (statCollection.ContainsKey(stat)) { statCollection[stat].value += value; statCollection[stat].isModifiedByItem = true; statCollection[stat].SetSpecificValueModifiedByItem(equipOn, value); SetEquippedItem(equipOn, item); if (statCollection[stat].value < 0) { statCollection[stat].value = 0; } } else { Debug.LogError("Stat " + stat + " not found"); } }