コード例 #1
0
ファイル: RuneFactory.cs プロジェクト: ww386362087/MoyuHero
    public static IRuneDetailObj Create(RuneDetailObjType type, Transform parent)
    {
        switch (type)
        {
        case RuneDetailObjType.ScrollRect:
            RuneDetailScrollRect lahyout = new RuneDetailScrollRect(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.ScrollRect));
            lahyout.SetParent(parent);
            return(lahyout);

        case RuneDetailObjType.Title:
            RuneDetailTitle title = new RuneDetailTitle(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.Title));
            title.SetParent(parent);
            return(title);

        case RuneDetailObjType.Content:
            RuneDetailContent content = new RuneDetailContent(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.Content));
            content.SetParent(parent);
            return(content);

        case RuneDetailObjType.TwoAttri:
            RuneDetailTwoAttri twoAttri = new RuneDetailTwoAttri(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.TwoAttri));
            twoAttri.SetParent(parent);
            return(twoAttri);

        case RuneDetailObjType.ThreAttri:
            RuneDetailThreeAtrri threeAttri = new RuneDetailThreeAtrri(RuneManager.Inst.RuneDetail.GetObjClone(RuneDetailObjType.ThreAttri));
            threeAttri.SetParent(parent);
            return(threeAttri);

        default:
            return(null);
        }
    }
コード例 #2
0
    protected void UpdateData(RuneAttriShowType type = RuneAttriShowType.All)
    {
        //Debug.LogError("RuneDetailCommon Update data");

        SetObjAllUseless();
        RuneData runeData = ItemEquipInfo.GetRuneData();

        bool titleDone1 = false;

        foreach (int id in runeData.BaseAttributeID)
        {
            if (id == -1)
            {
                continue;
            }

            int fullLv = DataTemplate.GetInstance().GetRuneStrenthMaxLevel(ItemEquipInfo.GetItemRowData());

            if (ItemEquipInfo.GetStrenghLevel() + mStrenLvAdder > fullLv)
            {
                return;
            }

            if (!titleDone1)
            {
                titleDone1 = true;
                //CreateTitle(mAttriList, GameUtils.getString("hero_rune_content8"));
                RuneDetailTitle title = GetOrCreateRuneDetailObj(RuneDetailObjType.Title, layoutTrans) as RuneDetailTitle;
                title.SetTxt(GameUtils.getString("hero_rune_content8"));
                title.SetActive(true);
            }

            BaseruneattributeTemplate bt = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id + mStrenLvAdder);
            if (bt.getNumshow() == 0 && type != RuneAttriShowType.BaseAttriOnly)
            {
                //CreateDetailTxts(mAttriList, GameUtils.getString(bt.getAttriDes()));
                RuneDetailContent content = GetOrCreateRuneDetailObj(RuneDetailObjType.Content, layoutTrans) as RuneDetailContent;
                content.SetTxt(GameUtils.getString(bt.getAttriDes()));
                content.SetActive(true);
            }
            else
            {
                //CreateBaseAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes()), "+" + bt.getAttriValue().ToString());
                RuneDetailTwoAttri twoAttri = GetOrCreateRuneDetailObj(RuneDetailObjType.TwoAttri, layoutTrans) as RuneDetailTwoAttri;
                twoAttri.SetLeftTxt(GameUtils.getString(bt.getAttriDes()));
                twoAttri.SetRightTxt("+" + bt.getAttriValue().ToString());
                twoAttri.SetActive(true);
            }
        }

        if (type == RuneAttriShowType.All)
        {
            //--------附加属性;
            int  count      = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(ItemEquipInfo.GetItemRowData());
            bool titleDone2 = false;
            int  i          = 0;
            bool isGray     = false;

            foreach (int id in runeData.AppendAttribute)
            {
                i++;

                isGray = i * 3 > ItemEquipInfo.GetStrenghLevel() + mStrenLvAdder;

                if (id == -1)
                {
                    if (i <= count)
                    {
                        if (!titleDone2)
                        {
                            titleDone2 = true;
                            //CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9"));
                            RuneDetailTitle title = GetOrCreateRuneDetailObj(RuneDetailObjType.Title, layoutTrans) as RuneDetailTitle;
                            title.SetTxt(GameUtils.getString("hero_rune_content9"));
                            title.SetActive(true);
                        }
                        //未知属性,未鉴定;
                        //CreateAddAttriObj(mAttriList, GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), isGray);
                        RuneDetailThreeAtrri threeAttri = GetOrCreateRuneDetailObj(RuneDetailObjType.ThreAttri, layoutTrans) as RuneDetailThreeAtrri;
                        threeAttri.SetLeftTxt(GameUtils.getString("rune_content2"), isGray);
                        threeAttri.SetMidTxt("", isGray);
                        threeAttri.SetRightTxt(GameUtils.getString("rune_content3"), isGray);
                        threeAttri.SetActive(true);
                    }

                    continue;
                }

                if (!titleDone2)
                {
                    titleDone2 = true;
                    //CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9"));
                    RuneDetailTitle title = GetOrCreateRuneDetailObj(RuneDetailObjType.Title, layoutTrans) as RuneDetailTitle;
                    title.SetTxt(GameUtils.getString("hero_rune_content9"));
                    title.SetActive(true);
                }

                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);
                RuneDetailThreeAtrri threeAttri1 = GetOrCreateRuneDetailObj(RuneDetailObjType.ThreAttri, layoutTrans) as RuneDetailThreeAtrri;
                threeAttri1.SetLeftTxt(GameUtils.getString(bt.getAttriDes1()), isGray);
                threeAttri1.SetMidTxt(GameUtils.getString(bt.getAttriDes2()), isGray);
                threeAttri1.SetRightTxt(bt.getSymbol() + val, isGray);
                threeAttri1.SetActive(true);
            }
        }
    }