public void UpdateHeroDetailInfo(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); int dwPDBID = helper.get <int>(); cmd_entity_hero_detail_info heroDetailInfo = helper.get <cmd_entity_hero_detail_info>(); PDBIDandHeroID multiKey = new PDBIDandHeroID(dwPDBID, heroDetailInfo.nHeroID); ActorHeroDetailInfo info = null; if (actorHeroDetail.TryGetValue(multiKey, out info) == false) { return; } info.heroDetailInfo = heroDetailInfo; cmd_count cmdCount = helper.get <cmd_count>(); info.cmdCount = cmdCount; for (int i = 0; i < cmdCount.nCount; i++) { cmd_match_room_hero_skill_desc skillDesc = helper.get <cmd_match_room_hero_skill_desc>(); info.heroSkillDesc.Add(skillDesc); } cmd_Return_Hero_Detail_Info returnHeroInfo; returnHeroInfo.nPDBID = dwPDBID; returnHeroInfo.nHeroID = heroDetailInfo.nHeroID; UIMsgCmdData uiReturnHeroInfo = null; if (eHeroDetailReqType == HeroDetailReqType.HDRT_INIT) { uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO, ref returnHeroInfo); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO, uiReturnHeroInfo); } else if (eHeroDetailReqType == HeroDetailReqType.HDRT_REFRESH) { uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH, ref returnHeroInfo); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH, uiReturnHeroInfo); } else if (eHeroDetailReqType == HeroDetailReqType.HDRT_LIFEHERO) { uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_OPEN_LIFEHERO_CULTURE_HERO_HINT, ref returnHeroInfo); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_OPEN_LIFEHERO_CULTURE_HERO_HINT, uiReturnHeroInfo); } }
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()); }