// 재료 아이템 생성 public void MaterialItemSearch(int itemID) { ShopItem.Item selectItem = ShopItem.Instance.itemlist[itemID]; foreach (Transform tr in MaterialItemContent.transform) { Destroy(tr.gameObject); } foreach (Transform tr in LineContent.transform) { Destroy(tr.gameObject); } GameObject createdItem = Instantiate(MaterialItem, MaterialItemContent.transform); createdItem.transform.localPosition = Vector3.zero; createdItem.GetComponent <ItemInfo>().myItem = selectItem.ClassCopy(); createdItem.GetComponent <ItemInfo>().BasicSetting(); for (int i = 0; i < 3; i++) { subitem1[i] = null; for (int j = 0; j < 3; j++) { subitem2[i, j] = null; } } subItemCreate(selectItem, 2, createdItem); }
public void ItemUpdate() { for (int i = 0; i < 6; i++) { if (selectedChampionData.item[i] != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[selectedChampionData.item[i]]; // 원본의 주소를 가져오므로 변경해서는 myItem을 변경해서는 안됨. itemicon[i].gameObject.GetComponent <ItemInfo>().myItem = it; itemicon[i].sprite = Resources.Load <Sprite>("Item_Image/" + it.iconName); itemicon[i].color = Color.white; } else { itemicon[i].gameObject.GetComponent <ItemInfo>().myItem = null; itemicon[i].sprite = null; itemicon[i].color = new Color(14f / 255f, 26f / 255f, 23f / 255f, 1); } } if (selectedChampionData.accessoryItem != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[selectedChampionData.accessoryItem]; itemicon[6].gameObject.GetComponent <ItemInfo>().myItem = it; itemicon[6].sprite = Resources.Load <Sprite>("Item_Image/" + it.iconName); itemicon[6].color = Color.white; } else { itemicon[6].gameObject.GetComponent <ItemInfo>().myItem = null; itemicon[6].sprite = null; itemicon[6].color = new Color(14f / 255f, 26f / 255f, 23f / 255f, 1); } }
public void StatusUpdate() { priceText.text = PlayerData.Instance.gold.ToString(); for (int i = 0; i < PlayerData.Instance.item.Length; i++) { if (PlayerData.Instance.item[i] != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[PlayerData.Instance.item[i]]; myItem[i].GetComponent <ItemInfo>().myItem = it.ClassCopy(); myItem[i].transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>("Item_Image/" + it.iconName); myItem[i].transform.Find("Icon").GetComponent <Image>().color = Color.white; } else { myItem[i].GetComponent <ItemInfo>().myItem = null; myItem[i].transform.Find("Icon").GetComponent <Image>().sprite = null; myItem[i].transform.Find("Icon").GetComponent <Image>().color = new Color(14f / 255f, 26f / 255f, 23f / 255f, 1); } } if (PlayerData.Instance.accessoryItem != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[PlayerData.Instance.accessoryItem]; accessory.GetComponent <ItemInfo>().myItem = it.ClassCopy(); accessory.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>("Item_Image/" + it.iconName); accessory.transform.Find("Icon").GetComponent <Image>().color = Color.white; } else { accessory.GetComponent <ItemInfo>().myItem = null; accessory.transform.Find("Icon").GetComponent <Image>().sprite = null; accessory.transform.Find("Icon").GetComponent <Image>().color = new Color(14f / 255f, 26f / 255f, 23f / 255f, 1); } }
public void ItemStatReset(ShopItem.Item itemstat) { itemstat.attackDamage = 0; itemstat.attackSpeed = 0; itemstat.criticalPercent = 0; itemstat.lifeSteal = 0; itemstat.abilityPower = 0; itemstat.mana = 0; itemstat.manaRegen = 0; itemstat.cooldownReduce = 0; itemstat.armor = 0; itemstat.magicResist = 0; itemstat.health = 0; itemstat.healthRegen = 0; itemstat.movementSpeed = 0; }
public void ItemStatReset(ShopItem.Item itemstat) { itemstat.attack_damage = 0; itemstat.attack_speed = 0; itemstat.critical_percent = 0; itemstat.life_steal = 0; itemstat.ability_power = 0; itemstat.mana = 0; itemstat.mana_regen = 0; itemstat.cooldown_reduce = 0; itemstat.armor = 0; itemstat.magic_resist = 0; itemstat.health = 0; itemstat.health_regen = 0; itemstat.movement_speed = 0; }
public void ItemStatUpdate() { // 장착한 item의 stat합계를 reset ItemStatReset(itemStat); // itemlist 돌면서 0번이 아니면 itemstat에 stat을 더해줌. foreach (int i in item) { if (i == 0) { continue; } ShopItem.Item tempitem = ShopItem.Instance.itemlist[i]; itemStat.attackDamage += tempitem.attackDamage; itemStat.attackSpeed += tempitem.attackSpeed; itemStat.criticalPercent += tempitem.criticalPercent; itemStat.lifeSteal += tempitem.lifeSteal; itemStat.abilityPower += tempitem.abilityPower; if (isNoMP) { itemStat.mana = 0; } else { itemStat.mana += tempitem.mana; } itemStat.manaRegen += tempitem.manaRegen; itemStat.cooldownReduce += tempitem.cooldownReduce; itemStat.armor += tempitem.armor; itemStat.magicResist += tempitem.magicResist; itemStat.health += tempitem.health; itemStat.healthRegen += tempitem.healthRegen; itemStat.movementSpeed += tempitem.movementSpeed / 50f; } TotalStatUpdate(); }
public void DataApply(TabCharacterInfo characterInfo, ResultManager.ResultData resultData) { characterInfo.level_Text.text = resultData.level.ToString(); characterInfo.championIcon_Image.sprite = Resources.Load <Sprite>("Champion/ChampionIcon/" + resultData.championName + "_Big"); characterInfo.nickname_Text.text = resultData.nickName; characterInfo.kda_Text.text = resultData.kill.ToString() + "/" + resultData.death.ToString() + "/" + resultData.assist.ToString(); characterInfo.cs_Text.text = resultData.cs.ToString(); for (int i = 0; i < 6; i++) { if (resultData.items[i] != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[resultData.items[i]]; // myItem은 복사본이 아니므로 변경해서는 안됨 characterInfo.items[i].gameObject.GetComponent <ItemInfo>().myItem = it; characterInfo.items[i].sprite = Resources.Load <Sprite>("Item_Image/" + it.iconName); characterInfo.items[i].color = Color.white; } else { characterInfo.items[i].gameObject.GetComponent <ItemInfo>().myItem = null; characterInfo.items[i].sprite = null; characterInfo.items[i].color = new Color(1, 1, 1, 0); } } if (resultData.accessoryItem != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[resultData.accessoryItem]; characterInfo.accessoryItem.gameObject.GetComponent <ItemInfo>().myItem = it; characterInfo.accessoryItem.sprite = Resources.Load <Sprite>("Item_Image/" + it.iconName); characterInfo.accessoryItem.color = Color.white; } else { characterInfo.accessoryItem.gameObject.GetComponent <ItemInfo>().myItem = null; characterInfo.accessoryItem.sprite = null; characterInfo.accessoryItem.color = new Color(1, 1, 1, 0); } }
public void StatusUpdate() { price.GetComponent <Text>().text = PlayerData.Instance.gold.ToString(); for (int i = 0; i < PlayerData.Instance.item.Length; i++) { // 아이템이 있으면 아이템뷰에 표시 if (PlayerData.Instance.item[i] != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[PlayerData.Instance.item[i]]; myItem[i].GetComponent <ItemInfo>().myItem = it.ClassCopy(); myItem[i].transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>("RPG icons/64X64/" + it.icon_name); myItem[i].transform.Find("Icon").GetComponent <Image>().color = Color.white; } // 아이템이 없으면 else { myItem[i].GetComponent <ItemInfo>().myItem = null; myItem[i].transform.Find("Icon").GetComponent <Image>().sprite = null; myItem[i].transform.Find("Icon").GetComponent <Image>().color = new Color(14f / 255f, 22f / 255f, 23f / 255f, 150f / 255f); myItem[i].GetComponent <ItemInfo>().viewSelected = false; } } if (PlayerData.Instance.accessoryItem != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[PlayerData.Instance.accessoryItem]; accessory.GetComponent <ItemInfo>().myItem = it.ClassCopy(); accessory.transform.Find("Icon").GetComponent <Image>().sprite = Resources.Load <Sprite>("RPG icons/64X64/" + it.icon_name); accessory.transform.Find("Icon").GetComponent <Image>().color = Color.white; } else { accessory.GetComponent <ItemInfo>().myItem = null; accessory.transform.Find("Icon").GetComponent <Image>().sprite = null; accessory.transform.Find("Icon").GetComponent <Image>().color = new Color(14f / 255f, 22f / 255f, 23f / 255f, 150f / 255f); accessory.GetComponent <ItemInfo>().viewSelected = false; } }
// price update public void ItemCheck() { subitem_check1 = false; subitem_check2 = false; subitem_check3 = false; System.Array.Clear(subsubitem_check, 0, subsubitem_check.Length); System.Array.Clear(search, 0, search.Length); int priceminus = 0; for (int i = 0; i < 6; i++) { // 해당슬롯에 아이템이 없으면 다음으로 if (PlayerData.Instance.item[i] == 0) { continue; } // 하위템1을 체크안했으면 체크함. 해서 true가 되었으면 넘어가질 것 if (subitem_check1 == false) { if (myItem.subitem_id1 == PlayerData.Instance.item[i] && myItem.subitem_id1 != 0) { subitem_check1 = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItem.subitem_id1].price; continue; } else if (myItem.subitem_id1 != 0) { ShopItem.Item myItemSub1 = ShopItem.Instance.itemlist[myItem.subitem_id1]; if (subsubitem_check[0, 0] == false) { if (myItemSub1.subitem_id1 == PlayerData.Instance.item[i] && myItemSub1.subitem_id1 != 0) { subsubitem_check[0, 0] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub1.subitem_id1].price; continue; } } if (subsubitem_check[0, 1] == false) { if (myItemSub1.subitem_id2 == PlayerData.Instance.item[i] && myItemSub1.subitem_id2 != 0) { subsubitem_check[0, 1] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub1.subitem_id2].price; continue; } } if (subsubitem_check[0, 2] == false) { if (myItemSub1.subitem_id3 == PlayerData.Instance.item[i] && myItemSub1.subitem_id3 != 0) { subsubitem_check[0, 2] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub1.subitem_id3].price; continue; } } } } // 하위템2을 체크안했으면 체크함. 해서 true가 되었으면 넘어가질 것 if (subitem_check2 == false) { if (myItem.subitem_id2 == PlayerData.Instance.item[i] && myItem.subitem_id2 != 0) { subitem_check2 = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItem.subitem_id2].price; continue; } else if (myItem.subitem_id2 != 0) { ShopItem.Item myItemSub2 = ShopItem.Instance.itemlist[myItem.subitem_id2]; if (subsubitem_check[1, 0] == false) { if (myItemSub2.subitem_id1 == PlayerData.Instance.item[i] && myItemSub2.subitem_id1 != 0) { subsubitem_check[1, 0] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub2.subitem_id1].price; continue; } } if (subsubitem_check[1, 1] == false) { if (myItemSub2.subitem_id2 == PlayerData.Instance.item[i] && myItemSub2.subitem_id2 != 0) { subsubitem_check[1, 1] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub2.subitem_id2].price; continue; } } if (subsubitem_check[1, 2] == false) { if (myItemSub2.subitem_id3 == PlayerData.Instance.item[i] && myItemSub2.subitem_id3 != 0) { subsubitem_check[1, 2] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub2.subitem_id3].price; continue; } } } } // 하위템3을 체크안했으면 체크함. 해서 true가 되었으면 넘어가질 것 if (subitem_check3 == false) { if (myItem.subitem_id3 == PlayerData.Instance.item[i] && myItem.subitem_id3 != 0) { subitem_check3 = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItem.subitem_id3].price; continue; } else if (myItem.subitem_id3 != 0) { ShopItem.Item myItemSub3 = ShopItem.Instance.itemlist[myItem.subitem_id3]; if (subsubitem_check[2, 0] == false) { if (myItemSub3.subitem_id1 == PlayerData.Instance.item[i] && myItemSub3.subitem_id1 != 0) { subsubitem_check[2, 0] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub3.subitem_id1].price; continue; } } if (subsubitem_check[2, 1] == false) { if (myItemSub3.subitem_id2 == PlayerData.Instance.item[i] && myItemSub3.subitem_id2 != 0) { subsubitem_check[2, 1] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub3.subitem_id2].price; continue; } } if (subsubitem_check[2, 2] == false) { if (myItemSub3.subitem_id3 == PlayerData.Instance.item[i] && myItemSub3.subitem_id3 != 0) { subsubitem_check[2, 2] = true; search[i] = true; priceminus += ShopItem.Instance.itemlist[myItemSub3.subitem_id3].price; continue; } } } } } myItem.price = ShopItem.Instance.itemlist[myItem.id].price - priceminus; if (myItem.price != 0) { transform.Find("Price").GetComponent <Text>().text = myItem.price.ToString(); } else { transform.Find("Price").GetComponent <Text>().text = "무료"; } }
public void DescriptionUpdate(int itemID) { // 처음 실행될때 항목들을 켜줌 (처음에는 선택이 없으니 꺼져있을테니) Description.transform.Find("ItemIcon").GetComponent <Image>().enabled = true; Description.transform.Find("ItemName").GetComponent <Text>().enabled = true; Description.transform.Find("GoldImage").GetComponent <Image>().enabled = true; Description.transform.Find("Price").GetComponent <Text>().enabled = true; Description.transform.Find("Status").GetComponent <Text>().enabled = true; Description.transform.Find("Effect_Description").GetComponent <Text>().enabled = true; Description.transform.Find("Additional_Description").GetComponent <Text>().enabled = true; ShopItem.Item selectItem = ShopItem.Instance.itemlist[itemID]; // 아이콘 이름 가격 Sprite Icon_image = Resources.Load <Sprite>("Item_Image/" + selectItem.icon_name); Description.transform.Find("ItemIcon").GetComponent <Image>().sprite = Icon_image; Description.transform.Find("ItemName").GetComponent <Text>().text = selectItem.name; if (ShopItem.Instance.itemlist[itemID].price == 0) { Description.transform.Find("Price").GetComponent <Text>().text = "무료"; } else { Description.transform.Find("Price").GetComponent <Text>().text = selectItem.price.ToString(); } //스탯체크 float height = 68; string stat_string = ""; if (selectItem.attack_damage != 0) { stat_string += "공격력 +" + selectItem.attack_damage.ToString() + "\n"; } if (selectItem.attack_speed != 0) { stat_string += "공격 속도 +" + selectItem.attack_speed.ToString() + "%\n"; } if (selectItem.critical_percent != 0) { stat_string += "치명타 확률 +" + selectItem.critical_percent.ToString() + "%\n"; } if (selectItem.life_steal != 0) { stat_string += "생명력 흡수 +" + selectItem.life_steal.ToString() + "%\n"; } if (selectItem.ability_power != 0) { stat_string += "주문력 +" + selectItem.ability_power.ToString() + "\n"; } if (selectItem.mana != 0) { stat_string += "마나 +" + selectItem.mana.ToString() + "\n"; } if (selectItem.mana_regen != 0) { stat_string += "기본 마나 재생 +" + selectItem.mana_regen.ToString() + "%\n"; } if (selectItem.cooldown_reduce != 0) { stat_string += "재사용 대기시간 감소 +" + selectItem.cooldown_reduce.ToString() + "%\n"; } if (selectItem.armor != 0) { stat_string += "방어력 +" + selectItem.armor.ToString() + "\n"; } if (selectItem.magic_resist != 0) { stat_string += "마법 저항력 +" + selectItem.magic_resist.ToString() + "\n"; } if (selectItem.health != 0) { stat_string += "체력 +" + selectItem.health.ToString() + "\n"; } if (selectItem.health_regen != 0) { stat_string += "기본 체력 재생 +" + selectItem.health_regen.ToString() + "%\n"; } if (selectItem.movement_speed != 0) { stat_string += "이동 속도 +" + selectItem.movement_speed.ToString() + "\n"; } Description.transform.Find("Status").GetComponent <Text>().text = stat_string; if (stat_string != string.Empty) { int stat_lineCount = stat_string.Split('\n').Length - 1; height += 17.0f * stat_lineCount; } // 효과 if (selectItem.effect_description != string.Empty) { // 스탯과 효과사이 간격 if (stat_string != string.Empty) { height += 8.0f; } GameObject Effect_Discription = Description.transform.Find("Effect_Description").gameObject; // 효과종류와 설명의 위치를 스탯 밑으로 Effect_Discription.GetComponent <RectTransform>().anchoredPosition = new Vector2(Effect_Discription.GetComponent <RectTransform>().anchoredPosition.x, -height); // 텍스트를 갱신 if (selectItem.effect_kind != string.Empty) { Effect_Discription.GetComponent <Text>().text = "<color=#FFEB17>" + selectItem.effect_kind + ":</color> " + selectItem.effect_description; } else { Effect_Discription.GetComponent <Text>().text = selectItem.effect_description; } // 자동으로 줄바꿈되는경우 cachedTextGenerator를 통해 줄바꿈결과를 받을수 있으나 다음 프레임이되야 갱신됨. // 그래서 Canvas.ForceUpdateCanvases() 함수를 통해 이전까지의 결과를 미리 업데이트하고 반영된 데이터를 얻음. Canvas.ForceUpdateCanvases(); int description_lineCount = Effect_Discription.GetComponent <Text>().cachedTextGenerator.lineCount; height += 17.0f * description_lineCount; // 추가효과가 없는경우 공백으로. GameObject Additional_Discription = Description.transform.Find("Additional_Description").gameObject; Additional_Discription.GetComponent <Text>().text = ""; // 추가효과가 있다면 효과와 마찬가지로 출력 if (selectItem.additional_description != string.Empty) { height += 8.0f; Additional_Discription.GetComponent <RectTransform>().anchoredPosition = new Vector2(Additional_Discription.GetComponent <RectTransform>().anchoredPosition.x, -height); Additional_Discription.GetComponent <Text>().text = "<color=#FFEB17>" + selectItem.additional_kind + ":</color> " + selectItem.additional_description; } } else { Description.transform.Find("Effect_Description").GetComponent <Text>().text = ""; Description.transform.Find("Additional_Description").GetComponent <Text>().text = ""; } }
public void subItemCreate(ShopItem.Item pItem, int floor, GameObject Parent, int parentcheckid = 100) { if (floor > 3) { return; } int distance2 = 0; int distance3 = 0; if (floor == 2) { distance2 = 70; distance3 = 100; } else if (floor == 3) { distance2 = 30; distance3 = 45; } int subitem_count = 0; if (pItem.subitem_id1 != 0) { subitem_count++; } if (pItem.subitem_id2 != 0) { subitem_count++; } if (pItem.subitem_id3 != 0) { subitem_count++; } if (subitem_count > 0) { if (subitem_count == 1) { GameObject subItem1 = Instantiate(MaterialItem, MaterialItemContent.transform); subItem1.transform.localPosition = Parent.transform.localPosition + new Vector3(0, -60); subItem1.GetComponent <ItemInfo>().myItem = ShopItem.Instance.itemlist[pItem.subitem_id1].ClassCopy(); subItem1.GetComponent <ItemInfo>().BasicSetting(); subItemCreate(ShopItem.Instance.itemlist[pItem.subitem_id1], floor + 1, subItem1, 0); GameObject subLine = Instantiate(Line2_1, LineContent.transform); subLine.transform.localPosition = Parent.transform.localPosition + new Vector3(0, -52); if (floor == 2) { subitem1[0] = subItem1; } else if (floor == 3) { subitem2[parentcheckid, 0] = subItem1; } } else if (subitem_count == 2) { GameObject subItem1 = Instantiate(MaterialItem, MaterialItemContent.transform); subItem1.transform.localPosition = Parent.transform.localPosition + new Vector3(-distance2, -60); subItem1.GetComponent <ItemInfo>().myItem = ShopItem.Instance.itemlist[pItem.subitem_id1].ClassCopy(); subItem1.GetComponent <ItemInfo>().BasicSetting(); subItemCreate(ShopItem.Instance.itemlist[pItem.subitem_id1], floor + 1, subItem1, 0); GameObject subItem2 = Instantiate(MaterialItem, MaterialItemContent.transform); subItem2.transform.localPosition = Parent.transform.localPosition + new Vector3(distance2, -60); subItem2.GetComponent <ItemInfo>().myItem = ShopItem.Instance.itemlist[pItem.subitem_id2].ClassCopy(); subItem2.GetComponent <ItemInfo>().BasicSetting(); subItemCreate(ShopItem.Instance.itemlist[pItem.subitem_id2], floor + 1, subItem2, 1); GameObject subLine = null; if (floor == 2) { subLine = Instantiate(Line2_2, LineContent.transform); } else if (floor == 3) { subLine = Instantiate(Line3_2, LineContent.transform); } subLine.transform.localPosition = Parent.transform.localPosition + new Vector3(0, -52); if (floor == 2) { subitem1[0] = subItem1; subitem1[1] = subItem2; } else if (floor == 3) { subitem2[parentcheckid, 0] = subItem1; subitem2[parentcheckid, 1] = subItem2; } } else if (subitem_count == 3) { GameObject subItem1 = Instantiate(MaterialItem, MaterialItemContent.transform); subItem1.transform.localPosition = Parent.transform.localPosition + new Vector3(-distance3, -60); subItem1.GetComponent <ItemInfo>().myItem = ShopItem.Instance.itemlist[pItem.subitem_id1].ClassCopy(); subItem1.GetComponent <ItemInfo>().BasicSetting(); subItemCreate(ShopItem.Instance.itemlist[pItem.subitem_id1], floor + 1, subItem1, 0); GameObject subItem2 = Instantiate(MaterialItem, MaterialItemContent.transform); subItem2.transform.localPosition = Parent.transform.localPosition + new Vector3(0, -60); subItem2.GetComponent <ItemInfo>().myItem = ShopItem.Instance.itemlist[pItem.subitem_id2].ClassCopy(); subItem2.GetComponent <ItemInfo>().BasicSetting(); subItemCreate(ShopItem.Instance.itemlist[pItem.subitem_id2], floor + 1, subItem2, 1); GameObject subItem3 = Instantiate(MaterialItem, MaterialItemContent.transform); subItem3.transform.localPosition = Parent.transform.localPosition + new Vector3(distance3, -60); subItem3.GetComponent <ItemInfo>().myItem = ShopItem.Instance.itemlist[pItem.subitem_id3].ClassCopy(); subItem3.GetComponent <ItemInfo>().BasicSetting(); subItemCreate(ShopItem.Instance.itemlist[pItem.subitem_id3], floor + 1, subItem3, 2); GameObject subLine = null; if (floor == 2) { subLine = Instantiate(Line2_3, LineContent.transform); } else if (floor == 3) { subLine = Instantiate(Line3_3, LineContent.transform); } subLine.transform.localPosition = Parent.transform.localPosition + new Vector3(0, -52); if (floor == 2) { subitem1[0] = subItem1; subitem1[1] = subItem2; subitem1[2] = subItem3; } else if (floor == 3) { subitem2[parentcheckid, 0] = subItem1; subitem2[parentcheckid, 1] = subItem2; subitem2[parentcheckid, 2] = subItem3; } } } }
public void TeamRefresh(string team) { int repeatCount = 0; if (team.Equals("blue")) { repeatCount = inGameManager.blueTeamPlayer.Count; } else if (team.Equals("red")) { repeatCount = inGameManager.redTeamPlayer.Count; } for (int j = 0; j < repeatCount; j++) { ChampionData cd = null; TabCharacterInfo characterInfo = null; if (team.Equals("blue")) { if (inGameManager.blueTeamPlayer[j].gameObject != null) { cd = inGameManager.blueTeamPlayer[j].GetComponent <ChampionData>(); characterInfo = BlueTeamInfo[j].GetComponent <TabCharacterInfo>(); BlueTeamInfo[j].SetActive(true); } } else if (team.Equals("red")) { if (inGameManager.redTeamPlayer[j].gameObject != null) { cd = inGameManager.redTeamPlayer[j].GetComponent <ChampionData>(); characterInfo = RedTeamInfo[j].GetComponent <TabCharacterInfo>(); RedTeamInfo[j].SetActive(true); } } else { return; } if (cd == null) { return; } // 결과창에 넘길 RD에 저장 ResultDataSave(team, j, cd); // 실제 탭 갱신. 아이콘 텍스트 스펠이미지 등... // cd에서 invoke로 너무 늦게 찾아줘서 그전에 누르면 터지기에 없으면 바로 불러주게함. if (cd.UIIcon == null) { cd.FindUICanvas(); } // UIICon, UISkill은 내거니까 다른애들것도 제대로 뜨려면 여기서 가지고 오는게 아니라 리소스에서 불러줘야함 if (characterInfo.championIcon_Image.sprite == null) { characterInfo.championIcon_Image.sprite = Resources.Load <Sprite>("Champion/ChampionIcon/" + cd.ChampionName); } if (characterInfo.spell_up_Image.sprite == null) { characterInfo.spell_up_Image.sprite = Resources.Load <Sprite>("Spell/" + cd.spell_D); characterInfo.spell_up_Image.color = Color.white; } if (characterInfo.spell_down_Image.sprite == null) { characterInfo.spell_down_Image.sprite = Resources.Load <Sprite>("Spell/" + cd.spell_F); characterInfo.spell_down_Image.color = Color.white; } // cd에서 spell을 받아오기전에 불러서 0,0으로 들어오면 null로 바꿔서 다음 업데이트때 새로 받게함 if (cd.spell_D == cd.spell_F) { characterInfo.championIcon_Image.sprite = null; characterInfo.spell_up_Image.sprite = null; characterInfo.spell_down_Image.sprite = null; } // 스펠쿨 + 궁극기쿨도 받아오기 // 아군 적군 부활시간도 받아오기 // 킬뎃은 시야 안보여도 갱신되기때문에 위로뺌 characterInfo.kda_Text.text = cd.kill.ToString() + "/" + cd.death.ToString() + "/" + cd.assist.ToString(); // 마우스 오버하면 아이디나옴 characterInfo.nickname = cd.GetComponent <PhotonView>().owner.NickName; // 시야에서 안보이는애면 ResultData만 저장하고 아이콘, 스펠만 업데이트하고 레벨,kda,cs,아이템을 업데이트하지않음. if (!cd.transform.GetComponent <FogOfWarEntity>().isCanTargeting) { continue; } // 레벨, CS 받아오기. characterInfo.level_Text.text = cd.totalstat.Level.ToString(); characterInfo.cs_Text.text = cd.cs.ToString(); // 아이템 적용 for (int i = 0; i < 6; i++) { if (cd.item[i] != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[cd.item[i]]; // 원본의 주소를 가져오므로 변경해서는 myItem을 변경해서는 안됨. characterInfo.items[i].gameObject.GetComponent <ItemInfo>().myItem = it; characterInfo.items[i].sprite = Resources.Load <Sprite>("Item_Image/" + it.icon_name); characterInfo.items[i].color = Color.white; } else { characterInfo.items[i].gameObject.GetComponent <ItemInfo>().myItem = null; characterInfo.items[i].sprite = null; characterInfo.items[i].color = new Color(1, 1, 1, 0); } } if (cd.accessoryItem != 0) { ShopItem.Item it = ShopItem.Instance.itemlist[cd.accessoryItem]; characterInfo.accessoryItem.gameObject.GetComponent <ItemInfo>().myItem = it; characterInfo.accessoryItem.sprite = Resources.Load <Sprite>("Item_Image/" + it.icon_name); characterInfo.accessoryItem.color = Color.white; } else { characterInfo.accessoryItem.gameObject.GetComponent <ItemInfo>().myItem = null; characterInfo.accessoryItem.sprite = null; characterInfo.accessoryItem.color = new Color(1, 1, 1, 0); } } // 유저수만큼만 갱신하고 뒤에 혹시 안꺼진게 있으면 꺼줌 for (int i = repeatCount; i < 5; i++) { if (team.Equals("blue")) { if (BlueTeamInfo[i].activeSelf) { BlueTeamInfo[i].SetActive(false); } } else if (team.Equals("red")) { if (RedTeamInfo[i].activeSelf) { RedTeamInfo[i].SetActive(false); } } } }