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); }
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); } }
// 将升星前后的英雄属性赋值,并显示出来 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; }
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; } }