예제 #1
0
        void InitCache()
        {
            LogHelper.Insert("Manager Data cache init start", LogType.Info);
            var list = ConfigManagerlevelMgr.GetAll();

            _managerlevelDic = list.ToDictionary(d => d.Level, d => d);
            int totalExp = 0;

            foreach (var entity in list)
            {
                entity.TotalExp = totalExp;
                totalExp       += entity.Exp;
            }
            var list3 = DicSkillbuffmatchMgr.GetAllForCache();

            _skillMatchDic = new Dictionary <string, List <string> >();
            foreach (var dicSkillbuffMatch in list3)
            {
                var key = BuildSkillPlusKey(dicSkillbuffMatch.Type, dicSkillbuffMatch.LinkId, dicSkillbuffMatch.LinkType);
                if (!_skillMatchDic.ContainsKey(key))
                {
                    _skillMatchDic.Add(key, new List <string>());
                }
                _skillMatchDic[key].Add(dicSkillbuffMatch.BuffEngineId);
            }

            var list4 = ConfigFunctionopenMgr.GetAllForCache();

            _functionOpenDic = new Dictionary <int, ConfigFunctionopenEntity>();
            foreach (var item in list4)
            {
                if (_functionOpenDic.ContainsKey(item.ManagerLevel))
                {
                    continue;
                }
                _functionOpenDic.Add(item.ManagerLevel, item);
            }
            _maxFunctionLevel = list4.Max(d => d.ManagerLevel);

            _levelGiftDic = new Dictionary <int, int>(3);
            var levelGiftconfig = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.LevelGiftConfig);

            if (!string.IsNullOrEmpty(levelGiftconfig))
            {
                var ss   = levelGiftconfig.Split(',');
                int step = 1;
                foreach (var s in ss)
                {
                    _levelGiftDic.Add(Convert.ToInt32(s), step);
                    step = step + 1;
                }
            }

            _skillTreeDic = new Dictionary <string, DicSkillstreeEntity>();
            var allTree = DicSkillstreeMgr.GetAll();

            foreach (var item in allTree)
            {
                if (!_skillTreeDic.ContainsKey(item.SkillCode))
                {
                    _skillTreeDic.Add(item.SkillCode, item);
                }
                else
                {
                    _skillTreeDic[item.SkillCode] = item;
                }
            }

            _managerSkillPointDic = new Dictionary <int, ConfigSkilltreepointEntity>();
            var allSkillPoint = ConfigSkilltreepointMgr.GetAll();

            _managerSkillPointDic = allSkillPoint.ToDictionary(r => r.ManagerLevel, r => r);

            _shareDic = new Dictionary <int, List <ConfigShareEntity> >();
            var allShare = ConfigShareMgr.GetAll();

            foreach (var item in allShare)
            {
                if (!_shareDic.ContainsKey(item.ShareType))
                {
                    _shareDic.Add(item.ShareType, new List <ConfigShareEntity>());
                }
                _shareDic[item.ShareType].Add(item);
            }
            LogHelper.Insert("Manager Data cache init end", LogType.Info);
        }
예제 #2
0
        public static DescriptionConfigEntity ExportDescriptionDic()
        {
            var config = new DescriptionConfigEntity();
            var list   = DicGrowMgr.GetAll();

            config.GrowDic = new List <LDescriptionEntity>(list.Count);
            foreach (var dicGrowEntity in list)
            {
                config.GrowDic.Add(new LDescriptionEntity()
                {
                    Description = dicGrowEntity.Name, Idx = dicGrowEntity.Idx, GrowTip = dicGrowEntity.GrowTip
                });
            }
            var suitList = DicEquipmentsuitMgr.GetAll();

            config.EquipmentSuit = new List <EquipmentsuitEntity>(suitList.Count);
            foreach (var entity in suitList)
            {
                config.EquipmentSuit.Add(new EquipmentsuitEntity()
                {
                    Idx = entity.Idx, Memo1 = entity.Memo1, Memo2 = entity.Memo2, Memo3 = entity.Memo3, Name = entity.Name, SuitType = entity.SuitType
                });
            }
            var appsettings = ConfigAppsettingMgr.GetAllForCache();

            config.WChallengeNameTemplate = GetAppSettingName("WChallengeStageNameTemplate", appsettings);
            config.HighBallsoulName       = GetAppSettingName("HighBallsoulName", appsettings);
            config.NormalBallsoulName     = GetAppSettingName("NormalBallsoulName", appsettings);

            var funcs = ConfigFunctionopenMgr.GetAll();

            config.Functionopens = new List <WpfConfigFunctionopenEntity>();
            foreach (var entity in funcs)
            {
                if (entity.FunctionId > 0)
                {
                    config.Functionopens.Add(new WpfConfigFunctionopenEntity()
                    {
                        Idx = entity.FunctionId, LockMemo = entity.LockMemo, Name = entity.Name, ManagerLevel = entity.ManagerLevel
                    });
                }
            }
            config.BuffTips = new List <BuffTipsEntity>();
            foreach (var item in DicBuffMgr.GetAll())
            {
                if (item.BuffType == 2)
                {
                    config.BuffTips.Add(new BuffTipsEntity(item));
                }
            }
            config.BuffSrcTips = new List <BuffSrcTipsEntity>();
            foreach (var item in DicSkillMgr.GetAll())
            {
                if (item.BuffSrcType == 1)
                {
                    config.BuffSrcTips.Add(new BuffSrcTipsEntity(item));
                }
            }

            config.PlayerCardStrengthPlus = GetAppSettingName("PlayerCardStrengthPlus", appsettings);
            config.Equipmentplus          = ConfigEquipmentplusMgr.GetAll();
            config.Mails = DicMailMgr.GetAll();

            var ladderExchanges = DicLadderexchangeMgr.GetAll();

            config.LadderExchanges = new List <LadderExchangeEntity>();
            foreach (var entity in ladderExchanges)
            {
                var exchange = new LadderExchangeEntity()
                {
                    Idx        = entity.Type,
                    CostHonor  = entity.CostHonor,
                    LadderCoin = entity.LadderCoin
                };
                config.LadderExchanges.Add(exchange);
            }

            var leagueExchanges = DicLeagueexchangeMgr.GetAll();

            config.LeagueExchanges = new List <LeagueExchangeEntity>();
            foreach (var entity in leagueExchanges)
            {
                var exchange = new LeagueExchangeEntity()
                {
                    Idx       = entity.Idx,
                    CostScore = entity.CostScore
                };
                config.LeagueExchanges.Add(exchange);
            }

            var taskList  = ConfigTaskMgr.GetAll();
            var taskList2 = ConfigTaskrequireMgr.GetAll();
            var giftItems = DicGiftpackprizeMgr.GetAll();

            foreach (var entity in taskList2)
            {
                var task = taskList.Find(d => d.Idx == entity.TaskId);
                if (!string.IsNullOrEmpty(task.RequireFuncs))
                {
                    task.RequireFuncs += ",";
                }
                task.RequireFuncs += entity.RequireType;
            }

            config.Tasks = new List <TaskDescriptionEntity>(taskList.Count);
            foreach (var entity in taskList)
            {
                config.Tasks.Add(new TaskDescriptionEntity()
                {
                    Idx           = entity.Idx,
                    Name          = entity.Name,
                    Level         = entity.ManagerLevel,
                    Description   = entity.Tip,
                    PrizeCoin     = entity.PrizeCoin,
                    PrizeExp      = entity.PrizeExp,
                    PrizeItemCode = entity.PrizeItemCode,
                    PrizeItems    = GetGiftItems(giftItems, entity.PrizeItemCode),
                    RequireFuncs  = entity.RequireFuncs,
                    TaskType      = entity.TaskType,
                    Times         = entity.Times,
                    NpcIdx        = entity.NpcIdx
                });
            }

            config.Turntable = new List <ConfigTurntableprizeEntity>();
            var allturntable = ConfigTurntableprizeMgr.GetAll();

            config.Turntable = allturntable;

            return(config);
        }