Beispiel #1
0
    // 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>();
        }
    }
Beispiel #2
0
 private void SetItem(CharEquipmentSlot slot)
 {
     slot.item = m_item;
     Static.InvenItemRemoveList(m_item);
     m_slot.item = null;
     Static.AddList(slot.item);
     g.SetActive(false);
 }
Beispiel #3
0
 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);
     }
 }
Beispiel #4
0
    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);
    }
Beispiel #5
0
        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]);
            }
        }
Beispiel #6
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);
         }
     }
 }
Beispiel #7
0
    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);
    }
Beispiel #8
0
            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);
                }
            }
Beispiel #9
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;
        }
Beispiel #10
0
            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;
                }
            }
Beispiel #11
0
 private void AddItemToEquipmentSlot(ItemConfig item, CharEquipmentSlot slotNeeded, BaseStats member)
 {
     member.ModifyStatByEquip(item.GetAttributeToModify(), item.GetAdditiveModifiers(), item, slotNeeded);
     playerInventory.RemoveItem(item, 1);
 }
Beispiel #12
0
 private void ReturnItemToInventory(CharEquipmentSlot slotNeeded, BaseStats member, ItemConfig currentEquippedItem)
 {
     member.ReturnAfterUnnequip(currentEquippedItem.GetAttributeToModify(), currentEquippedItem, slotNeeded);
     playerInventory.AddItem(currentEquippedItem, 1);
 }
Beispiel #13
0
 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");
     }
 }