public List <int> GetItemStat(List <string> li_Temp) { li_ItemStat.Clear(); int nAtk = 0; int nDef = 0; int nHP = 0; for (int i = 0; i < li_Temp.Count; ++i) { eItem eItem = eItem.None; eItem = (eItem)Enum.Parse(typeof(eItem), li_Temp[i]); switch (eItem) { case eItem.sword1: case eItem.axe1: case eItem.top1: case eItem.top2: case eItem.bottom1: case eItem.bottom2: case eItem.Arm1: case eItem.Arm2: case eItem.helmet1: case eItem.helmet2: case eItem.shoes1: case eItem.shoes2: var data = eItem.GetItemType(); nAtk += data.nAtk; nDef += data.nDef; nHP += data.nHP; break; default: Debug.Log("착용하지 않은 아이템"); break; } } //Debug.Log(nAtk); //Debug.Log(nDef); //Debug.Log(nHP); li_ItemStat.Add(nAtk); li_ItemStat.Add(nDef); li_ItemStat.Add(nHP); return(li_ItemStat); }
void SetEquipImg(GameObject obj) { if (ItemMng.Ins.li_Item.Count == 0) { return; } equipStringList = new List <string>(); //인벤 슬롯을 클릭했을 경우 for (int i = 0; i < invenItemSlotList.Count; ++i) { if (obj.gameObject == invenItemSlotList[i].gameObject) { itemIdx = i; break; } } //==>클릭한 이미지의 장비아이템, 장비아이템 타입, 장비아이템 이미지 eItem eItem = (eItem)Enum.Parse(typeof(eItem), ItemMng.Ins.li_Item[itemIdx]); var type = eItem.GetItemType(); var path = string.Format(Path.IMG, ItemMng.Ins.li_Item[itemIdx]); var img = Resources.Load <Sprite>(path) as Sprite; //==< //체인지할 클릭한 이미지 sprItem = img; //클릭한 아이템과 장비 슬롯에 타입이 같은지 for (int i = 0; i < equipList.Count; ++i) { //==>아이템 슬롯에서 클릭한 아이템 타입 찾기 //var path = string.Format(Path.IMG, ItemMng.Ins.li_Item[itemIdx]); //var img = Resources.Load<Sprite>(path) as Sprite; eItemType eType = (eItemType)Enum.Parse(typeof(eItemType), type.eType); //==< //==>euqip 슬롯에서 같은 타입 찾기 eItemType eEquipType = (eItemType)Enum.Parse(typeof(eItemType), equipList[i].tag); if (eType == eEquipType) { equipIdx = i; break; } } Debug.Log(itemIdx); Debug.Log(equipIdx); //아이템 착용시 해당 타입의 장비를 착용했는지 체크 bool flag = false; //해당 영웅이 장비를 한번이라도 착용한적있나? if (Player.Ins.heroEquipList.ContainsKey(heroIdx)) { //있다면 클릭한 장비의 타입을 착용했나? //equip슬롯이 기본이미지라면 해당 타입의 장비는 착용x 아니면 착용 var sPath = string.Format(Path.IMG, sBasicEquipImg[equipIdx]); var temp = Resources.Load <Sprite>(sPath) as Sprite; if (equipList[equipIdx].sprite != temp) { flag = true; } } else { //해당 영웅이 장비를 착용한 적이 없음 EquipImg(); for (int i = 0; i < equipList.Count; ++i) { equipStringList.Add(equipList[i].sprite.name); } Player.Ins.heroEquipList.Add(heroIdx, equipStringList); //GameMng.Ins.heroStat.PlusStat(heroIdx, sprItem); ItemMng.Ins.RemoveItem(itemIdx); ItemSlotSort(); return; } if (flag) { //장비는 한개라도 착용했고 해당 타입의 장비도 착용했다 //장비스왑 equipMounting.gameObject.SetActive(true); return; } else { //장비는 한개라도 착용했고 해당 타입의 장비는 착용하지 않았다. EquipImg(); for (int i = 0; i < equipList.Count; ++i) { equipStringList.Add(equipList[i].sprite.name); } Player.Ins.heroEquipList[heroIdx] = equipStringList; //GameMng.Ins.heroStat.PlusStat(heroIdx, sprItem); ItemMng.Ins.RemoveItem(itemIdx); } ItemSlotSort(); }