public void OnGenicImageClick(int index) { int nHeroID = arrayCollectGenic[index].nHeroID; if (nHeroID <= 0) { return; } SSchemePersonModelData heroData = new SSchemePersonModelData(); if (PersonModelConfig.Instance.GetData_Out(nHeroID, out heroData) == false) { return; } string content = string.Format("是否进化为{0}英雄,进化后无法逆转", heroData.szHeroName); UBB.toHtml(ref content); TooltipAndDialog.UIDialogData data = new TooltipAndDialog.UIDialogData( title: "进化", message: content, buttons: new UIWidgets.DialogActions() { { "进化", () => OnEnvolveHero(index) }, { ULocalizationService.Instance.Get("UIView", "Common", "CancelBtn"), null } }, modal: true, mutex: true ); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG, data); }
/// <summary> /// 判断英雄类型标签 /// </summary> /// <param name="_nHeroID"></param> /// <returns></returns> private bool IsUsedHeroType(int _nHeroID) { bool result = false; if (CurrentSelectHeroType != -1) { SSchemePersonModelData data = null; if (PersonModelConfig.instance.GetData_Out(_nHeroID, out data)) { result = data.nHeroType == CurrentSelectHeroType; } } else { result = true; } return(result); }
private void SetHeroToolTip(int heroID, int cultureID) { if (cultureArray == null || cultureArray.Length <= cultureID) { return; } UTooltipTrigger tipsTrigger = cultureArray[cultureID].heroTip; tipsTrigger.gameObject.GetComponent <Image>().enabled = true; StringBuilder desc = new StringBuilder(); SSchemePersonModelData sPersonModel = null; if (PersonModelConfig.Instance.GetData_Out(heroID, out sPersonModel)) { desc.Append(String.Format("[size=20]{0}[/size]\n", sPersonModel.szHeroName)); desc.Append(String.Format("[size=16][color=#a5dbef]{0}[/color][/size]\n", sPersonModel.szHeroTitle)); } ActorHeroDetailInfo heroInfo = LogicDataCenter.playerSystemDataManager.GetActorHeroDetail(heroID, eType: HeroDetailReqType.HDRT_LIFEHERO); if (heroInfo != null && heroInfo.heroDetailInfo.nHeroID > 0) { cmd_entity_hero_detail_info info = heroInfo.heroDetailInfo; desc.Append(String.Format("[size=16][color=#a5dbef]场次:{0}[/color][/size]\n", info.nGameCount)); desc.Append(String.Format("[size=16][color=#a5dbef]胜率:{0}%[/color][/size]\n", info.usWinPro)); desc.Append(String.Format("[size=16][color=#a5dbef]英雄评级:{0}[/color][/size]", info.nStar)); cultureArray[cultureID].geneBtn.gameObject.SetActive(true); Text starLvDes = cultureArray[cultureID].starLevelDes; starLvDes.gameObject.SetActive(true); starLvDes.text = String.Format("{0}({1})", heroInfo.heroDetailInfo.chStarDesc, heroInfo.heroDetailInfo.nStar); starLvDes.GetComponent <UGradient>().enabled = false; starLvDes.GetComponent <Outline>().enabled = true; if (heroInfo.heroDetailInfo.nStar > 0 && heroInfo.heroDetailInfo.nStar < 5) { starLvDes.color = Color.white; } else if (heroInfo.heroDetailInfo.nStar < 10) { starLvDes.color = new Color32(0x10, 0x9b, 0xfe, 0xff); } else if (heroInfo.heroDetailInfo.nStar < 20) { starLvDes.color = new Color32(0xcc, 0x09, 0xce, 0xff); } else if (heroInfo.heroDetailInfo.nStar < 25) { starLvDes.color = new Color32(0xd1, 0x8d, 0x5f, 0xff); } else if (heroInfo.heroDetailInfo.nStar < 30) { starLvDes.color = new Color32(0xff, 0xf6, 0x4a, 0xff); } else { starLvDes.color = new Color32(0xbc, 0x30, 0x00, 0xff); } } tipsTrigger.SetText(UTooltipParamName.BodyText, desc.ToString()); }
private void ShowHeadPortrait(List <cmd_entity_hero_info> entityHeros) { if (entityHeros == null) { return; } HeroList.DataSource.Clear(); UIWidgets.ObservableList <ULifeHeroItem> dataSource = new UIWidgets.ObservableList <ULifeHeroItem>(); // 遍历已拥有的英雄加到表中 foreach (cmd_entity_hero_info cmdInfo in entityHeros) { int nHeroID = cmdInfo.nHeroID; if (cmdInfo.nNeedCardCount == 0) { continue; } SSchemePersonModelData sPersonModel = null; if (!PersonModelConfig.Instance.GetData_Out(nHeroID, out sPersonModel)) { continue; } ULifeHeroItem item = new ULifeHeroItem(); item.nHeroID = nHeroID; item.headIcon = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_PLAYERFRAME, 1, 9, nHeroID); if (item.headIcon == null) { item.headIcon = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_PLAYERFRAME, 1, 9, 10); } item.stName = cmdInfo.chHeroName; item.stTitle = sPersonModel.szHeroTitle; item.nStarLv = cmdInfo.byStarLv; item.bHaveHero = (cmdInfo.bIsBuy > 0); item.bWeekFree = (cmdInfo.bIsWeekFree > 0); int nStarLvLimit = GameLogicAPI.getHeroStarLvLimit(nHeroID); item.nStarLvLimit = nStarLvLimit; item.fExpValue = (float)cmdInfo.nCardCount / (float)cmdInfo.nNeedCardCount; item.stStarExp = cmdInfo.nCardCount.ToString() + (cmdInfo.byStarLv >= nStarLvLimit ? "" : "/" + cmdInfo.nNeedCardCount.ToString()); int nGold = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_GOLD); int nNeedGold = GameLogicAPI.getHeroUpgradeNeedGold(nHeroID, cmdInfo.byStarLv); //已购买、未满级、卡够、钱够 item.bUpGrade = (cmdInfo.bIsBuy > 0 && cmdInfo.byStarLv < nStarLvLimit && item.fExpValue >= 1 && nGold >= nNeedGold); item.nUnlockLevel = GameLogicAPI.getUnlockLevel(nHeroID); item.bFpsHero = GameLogicAPI.checkIsFpsHero(nHeroID); dataSource.Add(item); } HeroList.DataSource = dataSource; if (HeroList.DataSource.Count == 1) { HeroList.Select(0); } //增加监听点击头像的事件 HeroList.OnSelect.RemoveAllListeners(); HeroList.OnSelect.AddListener(ItemSelected); }