Ejemplo 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);
            }
        }
Ejemplo n.º 2
0
        public static ItemTipsEntity ExportItemTips()
        {
            var            itemList      = DicItemMgr.GetAll();
            var            playerList    = DicPlayerMgr.GetAll();
            var            equipmentList = DicEquipmentMgr.GetAll();
            var            mallList      = DicMallitemMgr.GetAll().FindAll(d => d.MallType != 5);
            var            ballList      = DicBallsoulMgr.GetAll();
            var            willList      = DicManagerwillMgr.GetAll();
            var            starskillList = DicStarskillsMgr.GetAll();
            ItemTipsEntity itemTips      = new ItemTipsEntity();

            itemTips.PlayerCard = new List <PlayerCardDescriptionEntity>(playerList.Count);
            itemTips.Equipment  = new List <EquipmentDescriptionEntity>(equipmentList.Count);
            itemTips.Ballsoul   = new List <BallsoulDescriptionEntity>(0);
            itemTips.MallItem   = new List <MallItemDescriptionEntity>(mallList.Count);
            foreach (var itemEntity in itemList)
            {
                switch (itemEntity.ItemType)
                {
                case (int)EnumItemType.PlayerCard:
                    var playerd = BuildPlayerCardDescription(itemEntity,
                                                             playerList.Find(d => d.Idx == itemEntity.LinkId));
                    var star = starskillList.FindAll(d => d.PlayerId == playerd.PlayerId);
                    if (star.Count > 0)
                    {
                        playerd.Starskill     = "";
                        playerd.StarskillCode = "";
                        foreach (var entity in star)
                        {
                            playerd.Starskill     += entity.Name + ",";
                            playerd.StarskillCode += entity.SkillCode + ",";
                        }
                        playerd.Starskill     = playerd.Starskill.TrimEnd(',');
                        playerd.StarskillCode = playerd.StarskillCode.TrimEnd(',');
                    }


                    var wills =
                        willList.FindAll(d => d.DriveFlag == 1 && d.PartMap.Contains(playerd.PlayerId.ToString()));
                    if (wills != null && wills.Count > 0)
                    {
                        foreach (var entity in wills)
                        {
                            playerd.CombSkill = entity.SkillName + ",";
                        }
                        playerd.CombSkill = playerd.CombSkill.TrimEnd(',');
                    }
                    itemTips.PlayerCard.Add(playerd);
                    break;

                case (int)EnumItemType.Equipment:
                    var equipd = BuildEquipmentDescription(itemEntity,
                                                           equipmentList.Find(d => d.Idx == itemEntity.LinkId));
                    itemTips.Equipment.Add(equipd);
                    break;

                case (int)EnumItemType.MallItem:
                    var malld = BuildMallDescription(itemEntity, mallList.Find(d => d.MallCode == itemEntity.LinkId));
                    itemTips.MallItem.Add(malld);
                    break;
                }
            }
            return(itemTips);
        }