Esempio n. 1
0
        void InitCache()
        {
            var list = DicPlayerMgr.GetAllForCache();

            _playersDic     = list.ToDictionary(d => d.Idx, d => d);
            _playerEntities = list;
            var list2 = DicStarskillsMgr.GetAllForCache();

            _starskillDic       = new Dictionary <int, List <DicStarskillsEntity> >(list2.Count);
            _starskillPlusList  = new List <string>(list2.Count);
            _starskillplusCount = 0;
            foreach (var entity in list2)
            {
                if (entity.IsValid)
                {
                    if (!_starskillDic.ContainsKey(entity.PlayerId))
                    {
                        _starskillDic[entity.PlayerId] = new List <DicStarskillsEntity>();
                    }
                    _starskillDic[entity.PlayerId].Add(entity);
                    _starskillPlusList.Add(entity.PlusCode);
                    _starskillplusCount++;
                }
            }

            _notSynthesisPlayer = new List <int>();
            var playerString = CacheFactory.AppsettingCache.GetAppSetting(EnumAppsetting.NotSynthesisPlayer);
            var pList        = playerString.Split(',');

            foreach (var p in pList)
            {
                int pid = ConvertHelper.ConvertToInt(p, 0);
                if (pid != 0)
                {
                    _notSynthesisPlayer.Add(pid);
                }
            }
            _playerLinkDetailDic = new Dictionary <int, List <int> >();
            var list3 = DicPlayerlinkMgr.GetAll();

            foreach (var entity in list3)
            {
                if (!_playerLinkDetailDic.ContainsKey(entity.LinkId))
                {
                    _playerLinkDetailDic.Add(entity.LinkId, new List <int>());
                }
                _playerLinkDetailDic[entity.LinkId].Add(entity.Idx);
            }
            foreach (var entity in list3)
            {
                if (!_playerLinkDetailDic.ContainsKey(entity.Idx))
                {
                    _playerLinkDetailDic.Add(entity.Idx, new List <int>());
                }
                _playerLinkDetailDic[entity.Idx].Add(entity.LinkId);
                var links = _playerLinkDetailDic[entity.LinkId];
                foreach (var link in links)
                {
                    if (link != entity.Idx)
                    {
                        _playerLinkDetailDic[entity.Idx].Add(link);
                    }
                }
            }

            _theStarDic = new Dictionary <int, ConfigPlayerthestarEntity>();
            var allTheStar = ConfigPlayerthestarMgr.GetAll();

            _theStarDic = allTheStar.ToDictionary(r => r.Idx, r => r);

            var allPotential = ConfigPotentialMgr.GetAll();

            _potentialDic  = new Dictionary <int, ConfigPotentialEntity>();
            allPotentialId = new List <int>();
            foreach (var item in allPotential)
            {
                if (!allPotentialId.Exists(r => r == item.PotentialId))
                {
                    allPotentialId.Add(item.PotentialId);
                }
                var key = GetKey(item.Level, item.PotentialId);
                if (!_potentialDic.ContainsKey(key))
                {
                    _potentialDic.Add(key, item);
                }
            }

            _potentialCardDic = new Dictionary <string, List <ConfigPotentialcardEntity> >();
            var allcard = ConfigPotentialcardMgr.GetAll();

            foreach (var item in allcard)
            {
                if (!_potentialCardDic.ContainsKey(item.CardLevel))
                {
                    _potentialCardDic.Add(item.CardLevel, new List <ConfigPotentialcardEntity>());
                }
                _potentialCardDic[item.CardLevel].Add(item);
            }
        }
Esempio n. 2
0
        public static SkillTipsEntity ExportSkillTips(bool includeStarSkillLevel = false)
        {
            var tips = new SkillTipsEntity();

            tips.SkillCard     = DicSkillcardtipsMgr.GetAll();
            tips.StarSkill     = DicStarskilltipsMgr.GetAll();
            tips.ManagerTalent = DicManagertalenttipsMgr.GetAll();
            tips.ClubSkills    = DicClubskillMgr.GetAll();
            var wills     = DicManagerwilltipsMgr.GetAll();
            var willParts = DicManagerwillparttipsMgr.GetAll();
            var dicWill   = new Dictionary <string, DicManagerwilltipsEntity>(wills.Count);

            tips.LowWill  = new List <DicManagerwilltipsEntity>();
            tips.HighWill = new List <DicManagerwilltipsEntity>();
            var strengthList       = ConfigStrengthMgr.GetAll();
            var _configStrengthDic = new Dictionary <int, ConfigStrengthEntity>(strengthList.Count);

            foreach (var entity in strengthList)
            {
                var key = BuildStrengthKey(entity.CardLevel, entity.Source, entity.Target);
                if (!_configStrengthDic.ContainsKey(key))
                {
                    _configStrengthDic.Add(key, entity);
                }
            }
            tips.PlayerStrengthDic = _configStrengthDic;

            var allSkillConfig   = ConfigSkillupgradeMgr.GetAll();
            var _SkillUpgradeDic = new Dictionary <int, ConfigSkillupgradeEntity>(allSkillConfig.Count);

            foreach (var item in allSkillConfig)
            {
                var key = GetKey(item.SkillLevel, item.Quality);
                if (!_SkillUpgradeDic.ContainsKey(key))
                {
                    _SkillUpgradeDic.Add(key, item);
                }
                else
                {
                    _SkillUpgradeDic[key] = item;
                }
            }
            tips.SkillUpGradeDic = _SkillUpgradeDic;

            var allprpo = ConfigPrposellMgr.GetAll();

            tips.PrpoSelllist = allprpo;

            var allSkill     = DicSkillstreeMgr.GetAll();
            var allSkillDesc = DicSkillstreedesdicMgr.GetAll();
            var skillList    = new List <ManagerSkillTree>();

            foreach (var skill in allSkill)
            {
                var desc = allSkillDesc.FindAll(r => r.SkillCode == skill.SkillCode);
                foreach (var d in desc)
                {
                    var sk = new ManagerSkillTree();
                    sk.CoditionPoint = skill.ConditionPoint;
                    sk.Condition     = skill.Condition;
                    sk.Description   = d.Description;
                    sk.ManagerLevel  = skill.RequireManagerLevel;
                    sk.ManagerType   = skill.ManagerType;
                    sk.MaxPoint      = skill.MaxPoint;
                    sk.SkillCode     = skill.SkillCode;
                    sk.SkillLevel    = d.SkillLevel;
                    sk.SkillName     = skill.SkillName;
                    sk.Opener        = skill.Opener;
                    skillList.Add(sk);
                }
            }
            tips.ManagerSkillTree = skillList;
            #region CombLink
            //var combLinks = DicPlayerlinkMgr.GetAll();
            var cdic = new SortedDictionary <int, int>();
            int cno  = 0;
            int cnt  = 0;
            //foreach (var item in combLinks)
            //{
            //    if (!cdic.TryGetValue(item.Idx, out cno))
            //    {
            //        if (!cdic.TryGetValue(item.LinkId, out cno))
            //            cno = ++cnt;
            //    }
            //    cdic[item.Idx] = cno;
            //    cdic[item.LinkId] = cno;
            //}
            var dicComb = new Dictionary <int, string>();
            var list    = new List <int>();
            for (int i = 0; i <= cnt; i++)
            {
                cno = 0;
                list.Clear();
                foreach (var kvp in cdic)
                {
                    if (kvp.Value != i)
                    {
                        continue;
                    }
                    if (cno == 0)
                    {
                        cno = kvp.Key;
                    }
                    else
                    {
                        list.Add(kvp.Key);
                    }
                }
                if (list.Count > 0)
                {
                    dicComb[cno] = string.Join(",", list.ToArray());
                }
            }
            #endregion

            foreach (var item in wills)
            {
                if (item.WillRank == 1)
                {
                    tips.LowWill.Add(item);
                }
                else
                {
                    tips.HighWill.Add(item);
                }
                dicWill[item.SkillCode] = item;
            }
            DicManagerwilltipsEntity will = null;
            foreach (var g in willParts.GroupBy(i => i.SkillCode))
            {
                if (!dicWill.TryGetValue(g.Key, out will))
                {
                    continue;
                }
                will.PartList = g.ToList();
            }
            CombTipsEntity comb = null;
            tips.Combs = new List <CombTipsEntity>();
            foreach (var item in dicWill.Values)
            {
                if (item.WillRank == 1)
                {
                    continue;
                }
                comb          = new CombTipsEntity(item);
                comb.PartList = new List <CombPartTipsEntity>();
                foreach (var part in item.PartList)
                {
                    if (dicComb.ContainsKey(part.Pid))
                    {
                        part.LinkPid = dicComb[part.Pid];
                    }
                    else
                    {
                        part.LinkPid = string.Empty;
                    }
                    comb.PartList.Add(new CombPartTipsEntity(part));
                }
                tips.Combs.Add(comb);
            }
            //tips.StarArousalSkills = DicStararousalskillsMgr.GetAll();

            tips.Potential = new Dictionary <int, List <ConfigPotentialEntity> >();
            var allPotential = ConfigPotentialMgr.GetAll();
            foreach (var item in allPotential)
            {
                if (!tips.Potential.ContainsKey(item.PotentialId))
                {
                    tips.Potential.Add(item.PotentialId, new List <ConfigPotentialEntity>());
                }
                tips.Potential[item.PotentialId].Add(item);
            }
            if (includeStarSkillLevel)
            {
                tips.StarSkillLevels = DicStarskillleveltipsMgr.GetAll();
            }
            return(tips);
        }