Пример #1
0
        public void setHeroInfo(cmd_entity_hero_info cmdInfo, int nMaxExp)
        {
            nHeroID = cmdInfo.nHeroID;
            // 此处由于可能找不到对应的头像,策划特别提出随便加一个先
            heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_PLAYERFRAME, 1, 6, cmdInfo.nHeroID);
            if (heroIcon.sprite == null)
            {
                heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_PLAYERFRAME, 1, 6, 10);
            }

            heroName.text              = cmdInfo.chHeroName;
            heroStarLv.text            = cmdInfo.byStarLv.ToString();
            heroWinPro.text            = cmdInfo.usWinPro.ToString() + "%";
            matchCount.text            = cmdInfo.nGameCount.ToString();
            heroUseTimeSlider.maxValue = nMaxExp;
            heroUseTimeSlider.value    = cmdInfo.nGameCount;

            int nStarLvLimit = GameLogicAPI.getHeroStarLvLimit(nHeroID);
            int nHeroStar    = cmdInfo.byStarLv;

            nHeroStar = nHeroStar > nStarLvLimit ? nStarLvLimit : nHeroStar;
            heroStarItem.SetData(nHeroID, nHeroStar, false, false);

            setVisible(true);
        }
Пример #2
0
        public void SetData(UTileItemClanSelfHero item, UTileClanSelfHero parentList)
        {
            cmd_clan_request_selfhero cmdData = item.data;

            heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_CLAN_SELECTREQUESTCARD, 1, 7, cmdData.nHeroID);
            heroStarItem.SetData(cmdData.nHeroID, cmdData.nHeroStar, false, false);

            float   fValue   = cmdData.nNeedCardCount != 0 ? (float)item.data.nCardCount / item.data.nNeedCardCount : 0.0f;
            Vector2 baseVec2 = cardValue.rectTransform.sizeDelta;

            if (fValue >= 1)
            {
                baseVec2.x       = cardBase.rectTransform.sizeDelta.x;
                cardValue.sprite = parentList.cardValueSprites[1];
            }
            else
            {
                baseVec2.x       = fValue * cardBase.rectTransform.sizeDelta.x;
                cardValue.sprite = parentList.cardValueSprites[0];
            }
            cardValue.rectTransform.sizeDelta = baseVec2;

            int nStarLvLimit = GameLogicAPI.getHeroStarLvLimit(cmdData.nHeroID);

            if (cmdData.nHeroStar >= nStarLvLimit)
            {
                cardText.text = cmdData.nCardCount.ToString();
                maxBg.gameObject.SetActive(true);
            }
            else
            {
                cardText.text = cmdData.nCardCount.ToString() + "/" + cmdData.nNeedCardCount.ToString();
                maxBg.gameObject.SetActive(false);
            }
        }
Пример #3
0
        // 将升星前后的英雄属性赋值,并显示出来
        public void setHeroUpStarInfo(cmd_entity_hero_diff_expend cmdInfo)
        {
            WndID wndID = GetUIWnd().GetID();

            heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, 3, cmdInfo.nHeroID);
            if (heroIcon.sprite == null)
            {
                heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, 3, 10);
            }
            int nHeroStar = cmdInfo.nStarLv;

            heroStarItem.SetData(cmdInfo.nHeroID, nHeroStar, false, true);

            heroName.text = cmdInfo.chHeroName;
            if (cmdInfo.nHaveGold < cmdInfo.nExpedGold)
            {
                expendGold.text = "金币 " + cmdInfo.nExpedGold.ToString() + "(现有:<color=red>" + cmdInfo.nHaveGold.ToString() + "</color>)";
            }
            else
            {
                expendGold.text = "金币 " + cmdInfo.nExpedGold.ToString() + "(现有:" + cmdInfo.nHaveGold.ToString() + ")";
            }

            if (cmdInfo.nHaveCardCount < cmdInfo.nExpendCard)
            {
                expendCard.text = "荣誉勋章 " + cmdInfo.nExpendCard.ToString() + "(现有:<color=red>" + cmdInfo.nHaveCardCount.ToString() + "</color>)";
            }
            else
            {
                expendCard.text = "荣誉勋章 " + cmdInfo.nExpendCard.ToString() + "(现有:" + cmdInfo.nHaveCardCount.ToString() + ")";
            }

            heroLvLimitFront.text = cmdInfo.nLimitLv.ToString();
            heroLvLimitBack.text  = cmdInfo.nLimitLvAdd == 0 ? "" : ("+" + cmdInfo.nLimitLvAdd.ToString());

            for (int i = 0; i < UDefines.PROPERTY_COUNT; ++i)
            {
                if (i >= 2)
                {
                    Hp[i].text           = (cmdInfo.fHP[i] == 0 ? "" : ("+" + cmdInfo.fHP[i].ToString("F2")));
                    PhysicAttack[i].text = (cmdInfo.fPA[i] == 0 ? "" : ("+" + cmdInfo.fPA[i].ToString("F2")));
                    PhysicDef[i].text    = (cmdInfo.fPD[i] == 0 ? "" : ("+" + cmdInfo.fPD[i].ToString("F2")));
                    Mp[i].text           = (cmdInfo.fMagic[i] == 0 ? "" : ("+" + cmdInfo.fMagic[i].ToString("F2")));
                    MagicAttack[i].text  = (cmdInfo.fMA[i] == 0 ? "" : ("+" + cmdInfo.fMA[i].ToString("F2")));
                    MagicDef[i].text     = (cmdInfo.fMD[i] == 0 ? "" : ("+" + cmdInfo.fMD[i].ToString("F2")));
                }
                else
                {
                    Hp[i].text           = cmdInfo.fHP[i].ToString();
                    PhysicAttack[i].text = cmdInfo.fPA[i].ToString();
                    PhysicDef[i].text    = cmdInfo.fPD[i].ToString();
                    Mp[i].text           = cmdInfo.fMagic[i].ToString();
                    MagicAttack[i].text  = cmdInfo.fMA[i].ToString();
                    MagicDef[i].text     = cmdInfo.fMD[i].ToString();
                }
            }
            nHeroID = cmdInfo.nHeroID;
        }
Пример #4
0
        public void SetData(ULifeHeroItem item)
        {
            #region 新手引导部分
            if (!item.bUseGuideWidget)
            {
                gameObject.RemoveComponent <Guide.UGuideWidget>();
            }
            else
            {
                Guide.UGuideWidget guideWidget = gameObject.GetComponent <Guide.UGuideWidget>();
                if (guideWidget == null)
                {
                    guideWidget = this.gameObject.AddComponent <Guide.UGuideWidget>();
                }

                guideWidget.SetFromMsgData(item.GuideWidgetData);
            }
            #endregion

            // 基本设置
            HeadIcon.sprite = item.headIcon;
            Name.text       = item.stName;
            Title.text      = item.stTitle;
            ExpText.text    = item.stStarExp;
            heroStarItem.SetData(item.nHeroID, item.nStarLv, false, false);
            weekFreeDesc.text = ULocalizationService.Instance.Get("UIview", "Common", "WeekFree");
            weekFree.gameObject.SetActive(item.bWeekFree);
            FpsIcon.gameObject.SetActive(item.bFpsHero);
            // 卡牌设置
            Vector2 baseVec2 = ExpValue.rectTransform.sizeDelta;
            if (item.fExpValue >= 1)
            {
                baseVec2.x      = ExpBase.rectTransform.sizeDelta.x;
                ExpValue.sprite = expValueSprites[1];
            }
            else
            {
                baseVec2.x      = item.fExpValue * ExpBase.rectTransform.sizeDelta.x;
                ExpValue.sprite = expValueSprites[0];
            }
            ExpValue.rectTransform.sizeDelta = baseVec2;

            // 拥有设置
            if (item.bHaveHero)
            {
                LockBase.SetActive(false);
                heroStarItem.gameObject.SetActive(true);
            }
            else
            {
                int nUnlockLevel = GameLogicAPI.getUnlockLevel(item.nHeroID);
                if (nUnlockLevel <= 0)
                {
                    LockDesc.text = ULocalizationService.Instance.Get("UIView", "Common", "ChargeUnlock");
                }
                else if (EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL) >= nUnlockLevel)
                {
                    LockDesc.text = ULocalizationService.Instance.Get("UIView", "Common", "ChargeUnlock");
                }
                else
                {
                    LockDesc.text = String.Format(ULocalizationService.Instance.Get("UIView", "Common", "LevelUnlock"), nUnlockLevel);
                }
                LockBase.SetActive(true);
                heroStarItem.gameObject.SetActive(false);
            }

            // 星级外框设置
            int nStarFrameID = GameLogicAPI.getHeroStarFrameID(item.nHeroID, item.nStarLv);
            if (nStarFrameID > 0)
            {
                StarGradeBg.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_StaticState, WndID.WND_ID_PLAYERFRAME, nStarFrameID + 10);
                StarGradeBg.gameObject.SetActive(true);
            }
            else
            {
                StarGradeBg.gameObject.SetActive(false);
            }
            // 星级光效设置
            int nStarEffectID = GameLogicAPI.getHeroStarEffectID(item.nHeroID, item.nStarLv);

            if (param != null)
            {
                UEffectManager.Instance.DestroyEffect(UEffectType.UET_EffectPrefab, ref param);
                gameObject.name = item.stName;
                param           = null;
            }
            if (nStarEffectID > 0)
            {
                if (param == null)
                {
                    param = new UEffectPrefabParam(_eType: UEffectPrefabType.UEPT_HeroPreviewFrame_GradeFrame1 + nStarEffectID - 1, _tfAttachParent: StarEffectGo.transform, _bAutoDestroy: false);
                }
                UEffectManager.Instance.CreateEffect(UEffectType.UET_EffectPrefab, ref param);
                gameObject.name = item.stName;
            }
            // 星级其他设置
            if (item.nStarLv >= item.nStarLvLimit)
            {
                Color clr;
                ColorUtility.TryParseHtmlString("#f9bf1d", out clr);
                Name.color = clr;
            }
            else
            {
                Color clr;
                ColorUtility.TryParseHtmlString("#ffffff", out clr);
                Name.color = clr;
            }
        }