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);
        }
        /// <summary>
        /// 创建角色
        /// </summary>
        /// <param name="heroId"></param>
        /// <param name="heroStar"></param>
        /// <returns></returns>
        public HeroInfo CreateHero(int heroId, int heroStar = 1)
        {
            PlayerInfo.SimpleHeroInfo heroInfo = new PlayerInfo.SimpleHeroInfo();
            heroInfo.RoleId    = DateTime.Now.Ticks;
            heroInfo.HeroId    = heroId;
            heroInfo.HeroLevel = PlayerInfo.Level;
            heroInfo.HeroStar  = heroStar;
            HeroEntity heroEntity = HeroDBModel.Instance.Get(heroId);

            heroInfo.SkillInfoList = new List <PlayerInfo.SimpleSkillInfo>();
            string[] skillArr = heroEntity.UesSkill.Split('|');
            for (int i = 0; i < skillArr.Length; i++)
            {
                PlayerInfo.SimpleSkillInfo skillInfo = new PlayerInfo.SimpleSkillInfo();
                skillInfo.SkillId    = skillArr[i].ToInt();
                skillInfo.SkillLevel = 1;
                heroInfo.SkillInfoList.Add(skillInfo);
            }
            HeroInfo info = PrepareHeroInfo(heroInfo);

            info.RoleId = heroInfo.RoleId;
            PlayerInfo.HeroList.Add(heroInfo);
            PlayerInfo.ToJson();
            return(info);
        }
        /// <summary>
        /// 英雄升星
        /// </summary>
        /// <param name="roleId"></param>
        /// <returns></returns>
        public HeroInfo UpgradeHeroStart(long roleId)
        {
            PlayerInfo.SimpleHeroInfo simpleHeroInfo = PlayerInfo.HeroList.Find(x => x.RoleId == roleId);
            PlayerInfo.HeroList.Remove(simpleHeroInfo);
            if (simpleHeroInfo.HeroStar < 5)
            {
                simpleHeroInfo.HeroStar++;
            }
            PlayerInfo.HeroList.Add(simpleHeroInfo);
            HeroInfo heroInfo = PrepareHeroInfo(simpleHeroInfo);

            PlayerInfo.ToJson();
            return(heroInfo);
        }