Exemplo n.º 1
0
    /// <summary>
    /// 刷新符文显示--符文强化成功监听;
    /// </summary>
    void UpdateAllRuneItems()
    {
        List <int> equipedTypes = new List <int>();

        for (int i = 0, j = (int)(EM_RUNE_POINT.EM_RUNE_POINT_NUMBER); i < j; i++)
        {
            EM_RUNE_POINT erp      = (EM_RUNE_POINT)i;
            ItemEquip     runeInfo = mObjectCard.GetHeroData().GetRuneItemInfo(erp);

            if (runeInfo == null)
            {
                //mRunes[i].SetIcon(common.defaultPath + AddSpriteName);
                mRunes[i].SetIcon(AddSprite);
                mRunes[i].SetLevelInfoActive(false);
            }
            else
            {
                ItemTemplate runeTemp = DataTemplate.GetInstance().GetItemTemplateById(runeInfo.GetItemTableID());
                if (runeTemp != null)
                {
                    mRunes[i].SetIcon(common.defaultPath + runeTemp.getIcon());
                    //mRunes[i].SetLevel(runeInfo.)
                    mRunes[i].SetStarsNum(runeTemp.getRune_quality());
                    mRunes[i].SetLevel(runeInfo.GetStrenghLevel());

                    int runeType = runeTemp.getRune_type();
                    //if (!equipedTypes.Contains(runeType))
                    equipedTypes.Add(runeType);

                    bool isSpecial = i == (int)(EM_RUNE_POINT.EM_RUNE_POINT_SPECIAL);

                    //if (!isSpecial)
                    //{
                    //    mRuneDetailItem.SetRuneType(runeType);
                    //}
                }

                mRunes[i].SetLevelInfoActive(true);
            }
        }
    }
Exemplo n.º 2
0
    void ShowRuneDetailUI(ItemEquip itemE)
    {
        if (itemE == null)
        {
            return;
        }

        ItemTemplate itemT = DataTemplate.GetInstance().GetItemTemplateById(itemE.GetItemTableID());

        mSpecHeroName.text = "";

        HideAllRuneSelectEffect();
        mRunes[(int)mRunePoint].SetEffectShow((EM_RUNE_TYPE)(itemT.getRune_type()));

//         mRuneDetailItem.SetIcon(common.defaultPath + itemT.getIcon());
//         mRuneDetailItem.SetStarsNum(itemT.getRune_quality());
//         mRuneDetailItem.SetLevel(itemE.GetStrenghLevel());
//         mRuneDetailItem.SetLevelInfoActive(true);
//         //bool isSpecial = itemT.getRune_type() == 5 || itemT.getRune_type() == 6;
//         bool isSpecial = RuneModule.IsSpecialRune(itemT);
//         mRuneDetailItem.SetIsSpecial(isSpecial);
//         if (!isSpecial)
//         {
//             mRuneDetailItem.SetRuneType(itemT.getRune_type());
//         }

        if (mItemCommon == null)
        {
            mItemCommon = RuneFactory.CreateRuneItemCommom(m_RuneItemPos);
        }

        RuneItemCommonData ricd = new RuneItemCommonData();

        ricd.IsShowMaxEffect = true;
        ricd.ItemT           = itemE.GetItemRowData();
        ricd.RuneLevel       = itemE.GetStrenghLevel();
        ricd.EquipedHeroName = RuneModule.GetItemEuipHeroName(itemE);
        mItemCommon.SetRuneItemData(ricd, RuneItemCommon.RuneItemShowType.IconWithRightName);

        //mRuneName.text = GameUtils.getString(itemT.getName());
        mUserObj.SetActive(false);

        if (mDetailCommon == null)
        {
            mDetailCommon = new RuneDetailCommon(m_RuneAttriPos, itemE.GetItemGuid(), 450f);
        }
        else
        {
            mDetailCommon.SetShowData(itemE.GetItemGuid());
        }
//        GameUtils.DestroyChildsObj(mAttriList);

//         //基础属性;
//         bool titleDone1 = false;
//         RuneData runeData = itemE.GetRuneData();
//         foreach(int id in runeData.BaseAttributeID)
//         {
//             if(id == -1)
//                 continue;
//
//             if(!titleDone1)
//             {
//                 titleDone1 = true;
//                 CreateTitle(mAttriList, GameUtils.getString("hero_rune_content8"));
//             }
//
//             BaseruneattributeTemplate bt = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id);
//             if(bt.getNumshow() == 0)
//             {
//                 //CreateTitle(mAttriList, GameUtils.getString(bt.getAttriDes()));
//                 CreateDetailTxts(mAttriList, GameUtils.getString(bt.getAttriDes()));
//             }
//             else
//             {
//                 //CreateBaseAttriObj(mAttriList, GameUtils.GetAttriName(bt.getAttriType()), "+" + bt.getAttriValue().ToString());
//                 CreateBaseAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes()), "+" + bt.getAttriValue().ToString());
//             }
//         }
//
//         //附加属性-------激活等级分别为强化等级达到3/6/9/12;
//         bool titleDone2 = false;
        int count = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(itemT);

//         int i = 0;
//         int strenthLv = itemE.GetStrenghLevel();
//         bool isGray = false;
//
//         foreach (int id in runeData.AppendAttribute)
//         {
//             i++;
//             isGray = i * 3 > strenthLv;
//             if (id == -1)
//             {
//                 if (i <= count)
//                 {
//                     if (!titleDone2)
//                     {
//                         titleDone2 = true;
//                         CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9"));
//                     }
//
//                     //位置属性,未鉴定;
//                     CreateAddAttriObj(mAttriList, GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), isGray);
//                 }
//
//                 continue;
//             }
//
//             if(!titleDone2)
//             {
//                 titleDone2 = true;
//                 CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9"));
//             }
//
//             AddruneattributeTemplate bt = DataTemplate.GetInstance().GetAddruneattributeTemplate(id);
//             bool isPercent = bt.getIspercentage() > 0;
//             string val = isPercent ? ((float)bt.getAttriValue() / (float)10f + "%") : bt.getAttriValue().ToString();
//             CreateAddAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes1()), GameUtils.getString(bt.getAttriDes2()), bt.getSymbol() + val, isGray);
//        }

        //设置按钮状态;
        GameUtils.SetBtnSpriteGrayState(mStrenthBtn, DataTemplate.GetInstance().IsRuneStrenthFullLevel(itemT, itemE.GetStrenghLevel()));
        GameUtils.SetBtnSpriteGrayState(mIdentifyBtn, itemE.GetDefineTimes() >= count);

        mRuneDetailObj.SetActive(true);
    }
Exemplo n.º 3
0
    /// <summary>
    /// 刷新所有有关符文装配界面的信息;
    /// </summary>
    void UpdateUIForm()
    {
        List <int> equipedTypes = new List <int>();

        for (int i = 0, j = (int)(EM_RUNE_POINT.EM_RUNE_POINT_NUMBER); i < j; i++)
        {
            EM_RUNE_POINT erp      = (EM_RUNE_POINT)i;
            ItemEquip     runeInfo = mObjectCard.GetHeroData().GetRuneItemInfo(erp);

            mRunes[i].SetRuneType(EM_RUNE_TYPE.EM_RUNE_TYPE_INVALID);
            if (runeInfo == null)
            {
                //mRunes[i].SetIcon(common.defaultPath + AddSpriteName);
                mRunes[i].SetIcon(AddSprite);
                mRunes[i].SetLevelInfoActive(false);
            }
            else
            {
                ItemTemplate runeTemp = DataTemplate.GetInstance().GetItemTemplateById(runeInfo.GetItemTableID());
                if (runeTemp != null)
                {
                    mRunes[i].SetIcon(common.defaultPath + runeTemp.getIcon());
                    //mRunes[i].SetLevel(runeInfo.)
                    mRunes[i].SetStarsNum(runeTemp.getRune_quality());
                    mRunes[i].SetLevel(runeInfo.GetStrenghLevel());
                    int runeType = runeTemp.getRune_type();
                    //if (!equipedTypes.Contains(runeType))
                    equipedTypes.Add(runeType);

                    bool isSpecial = i == (int)(EM_RUNE_POINT.EM_RUNE_POINT_SPECIAL);

                    if (!isSpecial)
                    {
                        mRunes[i].SetRuneType(runeType);
                    }
                }

                mRunes[i].SetLevelInfoActive(true);
            }
        }

        int          heroTableID = mObjectCard.GetHeroData().TableID;
        HeroTemplate heroT       = DataTemplate.GetInstance().GetHeroTemplateById(heroTableID);

        if (heroT == null)
        {
            LogManager.LogError("hero表中缺少数据 heroid = " + heroTableID);
            return;
        }

        List <int> runeGroup = DataTemplate.GetInstance().GetHeroRuneGroup(heroT);

        if (runeGroup == null)
        {
            LogManager.LogError("获取英雄符文组合失败 heroid = " + heroTableID);
            return;
        }

        if (runeGroup.Count > 4)
        {
            LogManager.LogError("符文组合最多4个符文");
            return;
        }

        for (int i = 0, j = mRuneGoupItems.Length; i < j; i++)
        {
            mRuneGoupItems[i].SetActive(false);
        }

        for (int i = 0, j = runeGroup.Count; i < j; i++)
        {
            //mRuneGoupItems[i].SetIcon(GetIconByRuneType(runeGroup[i]));
            mRuneGoupItems[i].SetIcon(GetSpriteByRuneFlagType(runeGroup[i]));
            mRuneGoupItems[i].SetEffectShow(EM_RUNE_TYPE.EM_RUNE_TYPE_INVALID);
            mRuneGoupItems[i].SetActive(true);
        }

        int activeNum = 0;

        for (int i = 0; i < runeGroup.Count; i++)
        {
            int idx = equipedTypes.IndexOf(runeGroup[i]);

            if (idx == -1)
            {
                mRuneGoupItems[i].SetEffectShow(EM_RUNE_TYPE.EM_RUNE_TYPE_INVALID);
                continue;
            }
            else
            {
                mRuneGoupItems[i].SetEffectShow((EM_RUNE_TYPE)runeGroup[i]);
                equipedTypes.RemoveAt(idx);
                activeNum++;
            }
        }

        bool isActive = activeNum >= runeGroup.Count; //是否激活符文组合条件;

        RunepassiveTemplate runPassT = DataTemplate.GetInstance().GetRunepassiveTemplate(heroT.getRunePassive());

        if (runPassT != null)
        {
            string str1    = "";
            bool   isShow1 = GetRuneGroupValueStr(runPassT, 0, out str1);
            mRuneValues[0].text = isActive ? str1 : "<color=#acacac>" + str1 + "</color>";
            mRuneValues[0].transform.parent.gameObject.SetActive(isShow1);
            mRuneDetails[0].text    = isShow1 ? GameUtils.getString(runPassT.getDes1()) : "";
            mRuneAttrImgs[0].sprite = RuneAttrImgs[isActive ? 1 : 0];

            string str2    = "";
            bool   isShow2 = GetRuneGroupValueStr(runPassT, 1, out str2);
            mRuneValues[1].text = isActive ? str2 : "<color=#acacac>" + str2 + "</color>";
            mRuneValues[1].transform.parent.gameObject.SetActive(isShow2);
            mRuneDetails[1].text    = isShow2 ? GameUtils.getString(runPassT.getDes2()) : "";
            mRuneAttrImgs[1].sprite = RuneAttrImgs[isActive ? 1 : 0];

            string str3    = "";
            bool   isShow3 = GetRuneGroupValueStr(runPassT, 2, out str3);
            mRuneValues[2].text = isActive ? str3 : "<color=#acacac>" + str3 + "</color>";
            mRuneValues[2].transform.parent.gameObject.SetActive(isShow3);
            mRuneDetails[2].text    = isShow3 ? GameUtils.getString(runPassT.getDes3()) : "";
            mRuneAttrImgs[2].sprite = RuneAttrImgs[isActive ? 1 : 0];
        }
    }