Beispiel #1
0
        /// <summary>
        /// 设置英雄头像
        /// </summary>
        /// <param name="UpGradeId"></param>
        /// <param name="icon"></param>
        /// <param name="char_type"></param>
        /// <param name="role_grade"></param>
        /// <param name="star"></param>
        /// <param name="heroLevel"></param>
        private void SetHeroIcon(string heroName, int UpGradeId, string icon, Hotfix_LT.Data.eRoleAttr char_type, int role_grade, int star, int heroLevel, string heroProfile, string profileSprite, int isawaken)
        {
            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(UpGradeId, out quality, out addLevel);
            if (addLevel == 0)
            {
                LTUIUtil.SetText(BreakLabel, "");
            }
            else
            {
                LTUIUtil.SetText(BreakLabel, "+" + addLevel.ToString());
            }
            BreakLabel.gameObject.SetActive(addLevel != 0);
            LTUIUtil.SetLevelText(HeroLevel.transform.parent.GetComponent <UISprite>(), HeroLevel, heroLevel);
            LTUIUtil.SetText(HeroName, heroName);
            LTUIUtil.SetText(HeroRoleProfile, string.Format("{0}", heroProfile == null ? EB.Localizer.GetString("ID_NATION_BATTLE_BUFF_FULL_CALL") : heroProfile));
            HeroRoleProfileSprite.spriteName = profileSprite;
            HeroIcon.spriteName       = icon;
            HeroType.spriteName       = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[char_type];
            HeroIconBorder.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, HeriIconBorderBG);
            HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, HeroIconBorder.transform, quality, upgradeefclip);
            GradeIcon.spriteName = LTPartnerConfig.PARTNER_GRADE_SPRITE_NAME_DIC[(PartnerGrade)role_grade];
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, HeroType.transform, (PartnerGrade)role_grade, char_type);
            StarList.SetSrarList(star, isawaken);
        }
Beispiel #2
0
        private void UpdateItem()
        {
            if (m_data == null || m_data.id == 0)
            {
                mDMono.transform.gameObject.CustomSetActive(false);
                return;
            }
            mDMono.transform.gameObject.CustomSetActive(true);
            Hotfix_LT.Data.HeroInfoTemplate info = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(m_data.character_id);
            IconSprite.spriteName = info.icon;

            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(m_data.upgrade, out quality, out addLevel);

            FrameSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, FrameBGSprite);

            if (addLevel > 0)
            {
                breakLebel.gameObject.CustomSetActive(true);
                breakLebel.text = "+" + addLevel.ToString();
            }
            else
            {
                breakLebel.gameObject.CustomSetActive(false);
            }

            CharTypeSprite.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[info.char_type];
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, CharTypeSprite.transform, (PartnerGrade)info.role_grade, info.char_type);
            LevelLabel.text = m_data.level.ToString();

            StarController.SetSrarList(m_data.star, 0);
        }
Beispiel #3
0
        private OtherPlayerPartnerData GetPartnerData(int heroId)
        {
            int quality;
            int addLevel;
            var partnerData = LTPartnerDataManager.Instance.GetPartnerByHeroId(heroId);

            if (partnerData == null)
            {
                EB.Debug.LogError("Can't get partner by HeroId: " + heroId);
                return(null);
            }

            LTPartnerDataManager.GetPartnerQuality(partnerData.UpGradeId, out quality, out addLevel);

            var data = new OtherPlayerPartnerData();

            data.Name         = partnerData.HeroInfo.name;
            data.Attr         = partnerData.HeroInfo.char_type;
            data.Icon         = partnerData.HeroInfo.icon;
            data.QualityLevel = quality;
            data.Level        = partnerData.Level;
            data.Star         = partnerData.Star;
            data.UpGradeId    = partnerData.UpGradeId;
            data.awakenLevel  = partnerData.IsAwaken;
            return(data);
        }
Beispiel #4
0
        public void OnShow(string heroId, HeroInfoTemplate charTpl, int star, int upGradeId, int awakenLevel
                           , bool isShowHp = false, bool isShowTempHp = false, bool IsExpSet = true)
        {
            Icon.spriteName = charTpl.icon;
            int quality, addLevel;

            LTPartnerDataManager.GetPartnerQuality(upGradeId, out quality, out addLevel);

            QuantityLevelSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, QuantityBGSprite);
            int.TryParse(heroId, out var intHeroId);
            LTPartnerData data = LTPartnerDataManager.Instance.GetPartnerByHeroId(intHeroId);

            LTPartnerConfig.SetLevelSprite(AttrSprite, charTpl.char_type, data != null && data.ArtifactLevel >= 0);
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, AttrSprite.transform, (PartnerGrade)charTpl.role_grade, charTpl.char_type);
            HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, QuantityLevelSprite.transform, quality, upgradeefclip);
            if (addLevel > 0)
            {
                breakLabel.transform.parent.gameObject.CustomSetActive(true);
                breakLabel.text = "+" + addLevel.ToString();
            }
            else
            {
                breakLabel.transform.parent.gameObject.CustomSetActive(false);
            }

            SetStarNumAndType(star, awakenLevel);
            SetProcess(heroId, isShowHp, isShowTempHp, IsExpSet);
        }
Beispiel #5
0
        private void RefreshData(LTPartnerData itemData)
        {
            if (itemData == null)
            {
                mDMono.gameObject.CustomSetActive(false);
                return;
            }
            else
            {
                mDMono.gameObject.CustomSetActive(true);
            }
            partnerData = itemData as LTPartnerData;

            if (partnerData.HeroId > 0)
            {
                Icon.spriteName     = partnerData.HeroInfo.icon;
                RoleType.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[partnerData.HeroInfo.char_type];
                HotfixCreateFX.ShowCharTypeFX(charFx, efClip, RoleType.transform, (PartnerGrade)partnerData.HeroInfo.role_grade, partnerData.HeroInfo.char_type);

                int quality  = 0;
                int addLevel = 0;
                LTPartnerDataManager.GetPartnerQuality(partnerData.UpGradeId, out quality, out addLevel);
                if (addLevel == 0)
                {
                    BreakLabel.text = "";
                }
                else
                {
                    BreakLabel.text = string.Format("+{0}", addLevel);
                }
                BreakLabel.gameObject.CustomSetActive(addLevel != 0);
                IconBorder.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
                GameItemUtil.SetColorfulPartnerCellFrame(quality, IconBg);

                if (IStarCount != partnerData.Star)
                {
                    IStarCount = partnerData.Star;
                    int awakelevel = partnerData.IsAwaken;
                    for (int i = 0; i < Star.transform.childCount; ++i)
                    {
                        Star.transform.GetChild(i).gameObject.CustomSetActive(i < IStarCount);
                        _stararray[i].spriteName = LTPartnerConfig.PARTNER_AWAKN_STAR_DIC[awakelevel];//觉醒星星显示
                    }
                    Star.cellWidth = (IStarCount > 5) ? 25 : 30;
                    Star.Reposition();
                }
                SetBookNameBg(partnerData.HeroInfo.char_type, BookNameBg);
                SetAttAddNum(partnerData, Conrtoller.Data.handBookAddAttrType);
                SetBtn(LTPartnerHandbookManager.Instance.TheHandbookList.IsPartnerInField(partnerData.HeroId.ToString()), string.IsNullOrEmpty(Conrtoller.Data.BuddyId) ? false : Conrtoller.Data.BuddyId.Equals(partnerData.HeroId.ToString()));
            }
            else
            {
                mDMono.gameObject.CustomSetActive(false);
            }
        }
Beispiel #6
0
        private void UpdateItem()
        {
            if (partnerData == null || partnerData.HeroId == 0)
            {
                mDMono.transform.GetChild(0).gameObject.SetActive(false);
                return;
            }
            mDMono.transform.GetChild(0).gameObject.SetActive(true);
            SelectSprite.gameObject.SetActive(partnerData.HeroId == LTPartnerEquipDataManager.Instance.CurrentPartnerData.HeroId);
            IconSprite.spriteName = partnerData.HeroInfo.icon;

            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(partnerData.UpGradeId, out quality, out addLevel);

            FrameSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, FrameBGSprite);

            if (partnerData.HeroId <= 0)
            {
                SetGrey(IconSprite);
                SetGrey(FrameSprite);
                SetDark(FrameBGSprite);
            }
            else
            {
                SetNormal(IconSprite);
                SetNormal(FrameSprite);
            }

            if (addLevel > 0)
            {
                breakLebel.gameObject.SetActive(true);
                breakLebel.text = "+" + addLevel.ToString();
            }
            else
            {
                breakLebel.gameObject.SetActive(false);
            }
            //BottomSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];

            LevelSprite.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[partnerData.HeroInfo.char_type];
            HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, FrameSprite.transform, quality, upgradeefclip);
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, LevelSprite.transform, (PartnerGrade)partnerData.HeroInfo.role_grade, partnerData.HeroInfo.char_type);
            LevelLabel.text = partnerData.Level.ToString();

            /*ShardSlider.value = (float)partnerData.ShardNum / (float)partnerData.HeroInfo.summon_shard;
             * ShardSprite.spriteName = partnerData.ShardNum >= partnerData.HeroInfo.summon_shard ? "Ty_Strip_Green" : "Ty_Strip_Blue";
             * ShardLabel.text = string.Format("{0}/{1}", partnerData.ShardNum, partnerData.HeroInfo.summon_shard);*/

            SetItemState();
            StarController.SetSrarList(partnerData.Star, partnerData.IsAwaken);
        }
Beispiel #7
0
        private void ShowGradeUp()
        {
            UpItem.SetItemDataOther(curParData);
            int oldQuality  = 0;
            int oldAddLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(curParData.UpGradeId - 1, out oldQuality, out oldAddLevel);
            CurItem.SetItemDataOther(curParData, oldQuality, oldAddLevel);

            Hotfix_LT.Data.UpGradeInfoTemplate tpl = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetUpGradeInfo(curParData.UpGradeId, curParData.HeroInfo.char_type);
            GradeUpLimitLv.text = string.Format(EB.Localizer.GetString("ID_LEVEL_FORMAT"), tpl.level_limit);
        }
Beispiel #8
0
        public virtual void Fill(OtherPlayerPartnerData data, bool canOpen = true)
        {
            if (data == null || data.Level == 0)
            {
                mDMono.gameObject.SetActive(false);
                return;
            }

            this.canOpen = canOpen;
            PartnerData  = data;
            LevelLabel.gameObject.CustomSetActive(data.Level > 0);
            LevelLabel.text = data.Level.ToString();
            LTUIUtil.SetLevelText(LevelBgSprite, LevelLabel, data.Level + data.AllRoundLevel);
            AttrBGSprite.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[data.Attr];
            LTPartnerConfig.SetLevelSprite(AttrBGSprite, data.Attr, data.ArtifactLevel >= 0);
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, AttrBGSprite.transform, (PartnerGrade)data.QualityLevel, data.Attr);
            IconSprite.spriteName = data.Icon;

            // 新增
            if (BreakLabel != null && QualityBorderSpriteBg != null)
            {
                SetStarNum(data.Star, data.awakenLevel);
                int quality  = 0;
                int addLevel = 0;
                LTPartnerDataManager.GetPartnerQuality(data.UpGradeId, out quality, out addLevel);
                GameItemUtil.SetColorfulPartnerCellFrame(quality, QualityBorderSpriteBg);
                HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, QualityBorderSprite.transform, quality, upgradeefclip);
                QualityBorderSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];

                if (addLevel > 0)
                {
                    BreakLabel.gameObject.SetActive(true);
                    BreakLabel.text = "+" + addLevel.ToString();
                }
                else
                {
                    BreakLabel.gameObject.SetActive(false);
                }
            }
            else
            {
                //    LevelAttrBGSprite.spriteName = UIBuddyShowItem.AttrToLevelBG(data.Attr);
                QualityBorderSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[data.QualityLevel];
                GameItemUtil.SetColorfulPartnerCellFrame(data.QualityLevel, QualityBorderSpriteBg);
                HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, QualityBorderSprite.transform, data.QualityLevel, upgradeefclip);
                SetStarNum(data.Star, data.awakenLevel);
            }
            if (data != null)
            {
                mDMono.gameObject.CustomSetActive(true);
            }
        }
Beispiel #9
0
        public void SetHeroIcon(LTPartnerData PData, GuardHeroData hData, int index)
        {
            this.PData = PData;
            this.hData = hData;
            this.index = index;
            SetRedPoint();
            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(hData.UpGradeId, out quality, out addLevel);
            if (addLevel > 0)
            {
                LTUIUtil.SetText(BreakLabel, "+" + addLevel.ToString());
                BreakLabel.transform.parent.gameObject.SetActive(true);
            }
            else
            {
                BreakLabel.transform.parent.gameObject.SetActive(false);
            }
            BreakLabel.gameObject.SetActive(addLevel != 0);
            LTUIUtil.SetText(HeroLevel, hData.heroLevel.ToString());
            LTUIUtil.SetText(HeroName, hData.heroName);
            HeroIcon.spriteName       = hData.icon;
            HeroType.spriteName       = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[hData.char_type];
            HeroIconBorder.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, HeriIconBorderBG);
            GradeIcon.spriteName = LTPartnerConfig.PARTNER_GRADE_SPRITE_NAME_DIC[(PartnerGrade)hData.role_grade];
            HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, HeroIconBorder.transform, quality, upgradeefclip);
            HotfixCreateFX.ShowCharTypeFX(charFx, efClip, HeroType.transform, (PartnerGrade)hData.role_grade, hData.char_type);

            int starCount = hData.star;

            if (starCount != lastStarCount || hData.isawaken != lastAwakenLevel)
            {
                StarController.SetSrarList(starCount, hData.isawaken);
            }

            if (hData.heroLevel <= 0)
            {
                SetGrey(HeroIcon);
                SetGrey(HeroIconBorder);
                SetDark(HeriIconBorderBG);
            }
            else
            {
                SetNormal(HeroIcon);
                SetNormal(HeroIconBorder);
            }
        }
Beispiel #10
0
        private void SetItemInfo(int Upgradeid, UISprite frame, UILabel upgradelable, GameObject upgradeobj)
        {
            int    quality;
            int    addLevel;
            string spName;

            LTPartnerDataManager.GetPartnerQuality(Upgradeid, out quality, out addLevel);
            if (LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC.TryGetValue(quality, out spName))
            {
                frame.spriteName = spName;
            }
            if (addLevel > 0)
            {
                upgradelable.text = string.Format("+{0}", addLevel);
                upgradeobj.CustomSetActive(true);
            }
            else
            {
                upgradeobj.CustomSetActive(false);
            }
        }
Beispiel #11
0
        public void Fill(string statId)
        {
            if (string.IsNullOrEmpty(statId))
            {
                Clear();
                return;
            }
            StatId = int.Parse(statId);
            var data = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfoByStatId(StatId);

            CostLabel.text        = LTNewHeroBattleManager.GetInstance().GetCostByRoleGrade(data.role_grade).ToString();
            HeroIcon.spriteName   = data.icon;
            CharSprite.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[data.char_type];
            // HotfixCreateFX.ShowCharTypeFX(charFx, efClip, CharSprite.transform, (PartnerGrade)data.role_grade, data.char_type);
            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(LTPartnerConfig.MAX_GRADE_LEVEL, out quality, out addLevel);

            FrameSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, FrameBGSprite);
            // HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, FrameBGSprite.transform, quality, upgradeefclip);
            if (addLevel > 0)
            {
                breakLebel.transform.parent.gameObject.CustomSetActive(true);
                breakLebel.text = "+" + addLevel.ToString();
            }
            else
            {
                breakLebel.transform.parent.gameObject.CustomSetActive(false);
            }
            mDMono.gameObject.CustomSetActive(true);

            if (m_Coroutine != null)
            {
                StopCoroutine(m_Coroutine);
                m_Coroutine = null;
            }
            m_Coroutine = StartCoroutine(LoadFx(data, quality));
        }
Beispiel #12
0
        private void Refresh()
        {
            LTUIUtil.SetLevelText(LevelLabSprite, levelLab, mData.level + mData.peak);
            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(mData.awakeLevel, out quality, out addLevel);

            frameSp.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, frameBGSp);

            if (addLevel > 0)
            {
                breskLevelLab.gameObject.SetActive(true);
                breskLevelLab.text = "+" + addLevel.ToString();
            }
            else
            {
                breskLevelLab.gameObject.SetActive(false);
            }

            parentTypeSp.spriteName = LTPartnerConfig.LEVEL_SPRITE_NAME_DIC[(Hotfix_LT.Data.eRoleAttr)mData.charType];

            starController.SetSrarList(mData.star, mData.isAwaken);

            Hotfix_LT.Data.HeroStatTemplate tempHeroStat = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroStat(mData.templateId);

            if (tempHeroStat != null)
            {
                Hotfix_LT.Data.HeroInfoTemplate tempHeroInfo = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfo(tempHeroStat.character_id, mData.skin);
                if (tempHeroInfo != null)
                {
                    iconSp.spriteName = tempHeroInfo.icon;
                    HotfixCreateFX.ShowCharTypeFX(charFx, efClip, parentTypeSp.transform, (PartnerGrade)tempHeroInfo.role_grade, (Hotfix_LT.Data.eRoleAttr)mData.charType);
                    HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, frameSp.transform, quality, upgradeefclip);
                }
            }
        }
Beispiel #13
0
        private void UpdateItem(bool isRefreshRedPoint = true)
        {
            if (partnerData == null)
            {
                if (mDMono != null && mDMono.gameObject != null)
                {
                    mDMono.gameObject.CustomSetActive(false);
                }
                return;
            }
            mDMono.gameObject.CustomSetActive(true);

            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(partnerData.UpGradeId, out quality, out addLevel);

            FrameSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, FrameBGSprite);
            curSelectId = LTPartnerDataManager.Instance.DropSelectPartnerId;

            if (partnerData.HeroId <= 0)
            {
                SetGrey(IconSprite);
                SetGrey(FrameSprite);
                SetDark(FrameBGSprite);
            }
            else
            {
                SetNormal(IconSprite);
                SetNormal(FrameSprite);
            }

            if (addLevel > 0)
            {
                breakLebel.transform.parent.gameObject.CustomSetActive(true);
                breakLebel.text = "+" + addLevel.ToString();
            }
            else
            {
                breakLebel.transform.parent.gameObject.SetActive(false);
            }
            //BottomSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];

            IconSprite.spriteName = partnerData.HeroInfo.icon;
            LTPartnerConfig.SetLevelSprite(LevelSprite, partnerData.HeroInfo.char_type, partnerData.ArtifactLevel >= 0);
            LTUIUtil.SetLevelText(LevelLabel.transform.parent.GetComponent <UISprite>(), LevelLabel, partnerData);
            if (partnerData.HeroId > 0)
            {
                PartnerGrade grade = (PartnerGrade)partnerData.HeroInfo.role_grade;
                HotfixCreateFX.ShowCharTypeFX(charFx, efClip, LevelSprite.transform, grade, partnerData.HeroInfo.char_type);
                HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, FrameSprite.transform, quality, upgradeefclip);
            }
            else
            {
                ShardSlider.value      = (float)partnerData.ShardNum / (float)partnerData.HeroInfo.summon_shard;
                ShardSprite.spriteName = partnerData.ShardNum >= partnerData.HeroInfo.summon_shard ? "Ty_Strip_Green" : "Ty_Strip_Blue";
                ShardLabel.text        = string.Format("{0}/{1}", partnerData.ShardNum, partnerData.HeroInfo.summon_shard);
            }
            isCanSummon = partnerData.HeroId <= 0 && partnerData.ShardNum >= partnerData.HeroInfo.summon_shard;

            isGoIntoBattle = partnerData.IsGoIntoBattle;
            FormationFlagObj.CustomSetActive(isGoIntoBattle);
            SetItemState();
            StarController.SetSrarList(partnerData.Star, partnerData.IsAwaken);
            SetSelectState(partnerData.StatId == curSelectId ? SELECT_STATE.SELECT : SELECT_STATE.UN_SELECT);

            if (isRefreshRedPoint)
            {
                if (isGoIntoBattle)
                {
                    InitRedPoint();
                }
                else
                {
                    RedPoint.CustomSetActive(false);
                    if (partnerData.StatId == curSelectId)
                    {
                        InitRedPoint(false);
                    }
                    ShowSummonRedPoint();
                }
            }
        }
Beispiel #14
0
        public void SetItem(LTPartnerData itemData)
        {
            //itemData为空的时候也把ItemData置空,其他地方使用ItemData需要判空
            ItemData = itemData;

            if (itemData == null || (itemData.StatId == 0 && itemData.InfoId == 0))
            {
                mDMono.gameObject.CustomSetActive(false);
                return;
            }

            RecommendSprite.CustomSetActive(false);
            SleepPS.CustomSetActive(false);


            if (BattleReadyHudController.sBattleType == eBattleType.SleepTower && LTClimingTowerHudController.Instance != null)
            {
                SleepPS.CustomSetActive(!LTClimingTowerHudController.Instance.CanUpTeam(ItemData.HeroId));
            }

            IconSprite.spriteName = ItemData.HeroInfo.icon;
            if (ItemData.HeroId <= 0 && !ItemData.IsHeroBattle || ItemData.IsHeroBattle && LTNewHeroBattleManager.GetInstance().CurrentType == HeroBattleType.High && LTNewHeroBattleManager.GetInstance().HasChallengeHeroInfoID.Contains(ItemData.StatId))
            {
                SetGrey(IconSprite);
                SetGrey(FrameSprite);
                SetDark(FrameBGSprite);
                HideObj.CustomSetActive(false);
                return;
            }
            else
            {
                SetNormal(IconSprite);
                SetNormal(FrameSprite);
                HideObj.CustomSetActive(true);
            }
            int quality  = 0;
            int addLevel = 0;

            LTPartnerDataManager.GetPartnerQuality(ItemData.UpGradeId, out quality, out addLevel);

            FrameSprite.spriteName = LTPartnerConfig.OUT_LINE_SPRITE_NAME_DIC[quality];
            GameItemUtil.SetColorfulPartnerCellFrame(quality, FrameBGSprite);
            HotfixCreateFX.ShowUpgradeQualityFX(upgradeFx, FrameSprite.transform, quality, upgradeefclip);
            //FrameBGSprite.color = LTPartnerConfig.QUANTITY_BG_COLOR_DIC[quality];
            LTPartnerConfig.SetLevelSprite(LevelSprite, ItemData.HeroInfo.char_type, ItemData.ArtifactLevel >= 0);
            int index = QualitySettings.GetQualityLevel();

            if (index < 1)
            {
                HotfixCreateFX.ShowCharTypeFX(charFx, efClip, LevelSprite.transform, (PartnerGrade)ItemData.HeroInfo.role_grade, ItemData.HeroInfo.char_type);
            }
            LTUIUtil.SetLevelText(LevelBGSprite, LevelLabel, ItemData);
            if (itemData.IsHeroBattle)
            {
                LevelBGSprite.spriteName = "Ty_Brand_Di1";
            }
            //英雄交锋特殊处理 其他布阵需要考虑觉醒后星星颜色变化
            if (BattleReadyHudController.sBattleType == eBattleType.HeroBattle)
            {
                StarController.SetSrarList(ItemData.Star, ItemData.HeroBattleAwakenLevel);
            }
            else
            {
                //天梯选人界面特殊处理
                if (ItemData.IsHire)
                {
                    StarController.SetSrarList(ItemData.Star, ItemData.HireAwakeLevel);
                }
                else
                {
                    StarController.SetSrarList(ItemData.Star, ItemData.IsAwaken);
                }
            }
            if (addLevel > 0)
            {
                breakLebel.transform.parent.gameObject.CustomSetActive(true);
                breakLebel.text = "+" + addLevel.ToString();
            }
            else
            {
                breakLebel.transform.parent.gameObject.CustomSetActive(false);
            }

            if (itemData.Level > 0 && LTResourceInstanceHudController.mChooseLevel != null)
            {
                for (int i = 0; i < LTResourceInstanceHudController.mChooseLevel.recommend_partners_id.Length; i++)
                {
                    if (LTResourceInstanceHudController.mChooseLevel.recommend_partners_id[i] != 0 && ItemData.HeroInfo.id == LTResourceInstanceHudController.mChooseLevel.recommend_partners_id[i])
                    {
                        RecommendSprite.CustomSetActive(true);
                        break;
                    }
                }
            }

            DeathSprite.gameObject.CustomSetActive(false);
            if ((BattleReadyHudController.sBattleType == eBattleType.ChallengeCampaign || BattleReadyHudController.sBattleType == eBattleType.AlienMazeBattle) && !FormationUtil.IsAlive(itemData.HeroId, itemData.IsHire) && itemData.uid <= 0)
            {
                DeathSprite.gameObject.CustomSetActive(true);
            }

            if (HireSprite)
            {
                HireSprite.CustomSetActive(itemData.IsHire && ItemData.uid <= 0);
            }

            MercenaryUseFlag.CustomSetActive(false);
            MercenaryUseFlag.CustomSetActive(ShowUseFlag());

            mDMono.gameObject.CustomSetActive(true);
        }