private HeroInfo PrepareHeroInfo(PlayerInfo.SimpleHeroInfo simpInfo) { HeroEntity heroEntity = HeroDBModel.Instance.Get(simpInfo.HeroId); HeroLevelEntity heroLevelEntity = HeroLevelDBModel.Instance.GetList().Find(x => x.Level == simpInfo.HeroLevel); JobEntity jobEntity = JobDBModel.Instance.Get(heroEntity.Job); HeroStarEntity heroStarEntity = HeroStarDBModel.Instance.GetList().Find(x => x.Star == simpInfo.HeroStar); if (heroLevelEntity != null || heroLevelEntity != null || jobEntity != null || heroStarEntity != null) { HeroInfo info = new HeroInfo(); info.RoleId = simpInfo.RoleId; info.RoleNickName = heroEntity.Name; info.Level = heroLevelEntity.Level; info.MaxHP = (int)(heroLevelEntity.Hp * heroEntity.Hp * jobEntity.Hp * heroStarEntity.Hp); info.CurrentHP = info.MaxHP; info.PhyAtk = (int)(heroLevelEntity.PhyAtk * heroEntity.PhyAtk * jobEntity.PhyAtk * heroStarEntity.PhyAtk); info.MgicAtk = (int)(heroLevelEntity.MgicAtk * heroEntity.MgicAtk * jobEntity.MgicAtk * heroStarEntity.MgicAtk); info.Cri = (int)(heroLevelEntity.Cri * heroEntity.Cri * jobEntity.Cri * heroStarEntity.Cri); info.CriValue = (int)(heroLevelEntity.CriValue * heroEntity.CriValue * jobEntity.CriValue * heroStarEntity.CriValue); info.PhyDef = (int)(heroLevelEntity.PhyDef * heroEntity.PhyDef * jobEntity.PhyDef * heroStarEntity.PhyDef); info.MgicDef = (int)((heroLevelEntity.MgicDef * heroEntity.MgicDef * jobEntity.MgicDef * heroStarEntity.MgicDef)); info.HeroID = heroEntity.Id; info.JobID = jobEntity.Id; info.HeroStar = simpInfo.HeroStar; for (int j = 0; j < simpInfo.SkillInfoList.Count; j++) { RoleInfoSkill skillInfo = new RoleInfoSkill(); skillInfo.SkillId = simpInfo.SkillInfoList[j].SkillId; skillInfo.SKillLevel = simpInfo.SkillInfoList[j].SkillLevel; info.SkillList.Add(skillInfo); } return(info); } return(null); }
private void OpenAllHeroView() { GameObject go = UIViewUtil.Instance.OpenWindow(UIViewType.AllHeroView); m_AllHeroView = go.GetComponent <UIAllHeroView>(); DataTransfer data = new DataTransfer(); List <DataTransfer> datas = new List <DataTransfer>(); List <HeroInfo> infos = Global.HeroInfoList; for (int i = 0; i < infos.Count; i++) { DataTransfer d = new DataTransfer(); d.SetData(ConstDefine.UI_AllHero_RoleId, infos[i].RoleId); d.SetData(ConstDefine.UI_AllHero_HeroStar, infos[i].HeroStar); d.SetData(ConstDefine.UI_AllHero_HeroName, infos[i].RoleNickName); RoleInfoSkill skillInfo = infos[i].SkillList[0];//只能一个 if (skillInfo == null) { Debug.LogError("错误:这个英雄没有技能,或者没装载技能"); continue; } SkillEntity skillEntity = SkillDBModel.Instance.Get(skillInfo.SkillId); if (skillEntity == null) { Debug.LogError("错误:找不到技能实体"); continue; } string skillIcon = Global.Instance.GetSkillIconByRanggeAndType(skillEntity.AttackRange, skillEntity.AttackArea); d.SetData(ConstDefine.UI_AllHero_HeroSkillICon, skillIcon); HeroEntity heroEntity = HeroDBModel.Instance.Get(infos[i].HeroID); if (heroEntity == null) { Debug.LogError("错误:找不到英雄实体"); continue; } d.SetData(ConstDefine.UI_AllHero_HeroHead, heroEntity.HeadPic); datas.Add(d); } data.SetData(ConstDefine.UI_AllHero_Content, datas); m_AllHeroView.SetUI(data); }