Example #1
0
File: Shop.cs Project: kunana/AOS
    // 재료 아이템 생성
    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);
    }
Example #2
0
    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);
        }
    }
Example #3
0
    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);
        }
    }
Example #4
0
    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;
    }
Example #5
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;
    }
Example #6
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();
    }
Example #7
0
    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);
        }
    }
Example #8
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;
        }
    }
Example #9
0
    // 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 = "무료";
        }
    }
Example #10
0
File: Shop.cs Project: kunana/AOS
    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 = "";
        }
    }
Example #11
0
File: Shop.cs Project: kunana/AOS
    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;
                }
            }
        }
    }
Example #12
0
    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);
                }
            }
        }
    }