void BuildCache()
        {
            if (_init)
            {
                return;
            }

            _connection    = ConfigurationManager.ConnectionStrings["Games.NBall.Dal.Properties.Settings.NB_ConfigConnectionString"].ConnectionString;
            _formationList = CacheFactory.FormationCache.GetFormationList();
            _playerList    = DicPlayerMgr.GetAllForCache();
            _equipmentList = DicEquipmentMgr.GetAllForCache();
            var suitList = DicEquipmentsuitMgr.GetAllForCache();
            // _skillList = DicSkillcardMgr.GetAll();

            var willList = DicManagerwillMgr.GetAll();

            _willPlayerDic   = new Dictionary <string, List <int> >();
            _willStrengthDic = new Dictionary <string, int>();
            foreach (var entity in willList)
            {
                if (entity.DriveFlag == (int)EnumSkillDriveType.Active)
                {
                    var ss = entity.PartMap.TrimEnd(',').Split(',');
                    _willStrengthDic.Add(entity.SkillCode, 0);
                    _willPlayerDic.Add(entity.SkillCode, new List <int>());
                    foreach (var s in ss)
                    {
                        var pp    = s.Split('+');
                        var pid   = Convert.ToInt32(pp[0]);
                        var stren = Convert.ToInt32(pp[1]);
                        if (_willStrengthDic[entity.SkillCode] < stren)
                        {
                            _willStrengthDic[entity.SkillCode] = stren;
                        }
                        _willPlayerDic[entity.SkillCode].Add(pid);
                    }
                }
            }

            _suitDic = new Dictionary <int, List <int> >();
            foreach (var entity in suitList)
            {
                if (!_suitDic.ContainsKey(entity.SuitType))
                {
                    _suitDic.Add(entity.SuitType, new List <int>());
                }
                _suitDic[entity.SuitType].Add(entity.Idx);
            }
            //_positionPropertyDic = new Dictionary<int, List<int>>();
            //_positionPropertyDic.Add((int)EnumPosition.Forward,new List<int>(){(int)EnumProperty.Speed,(int)EnumProperty.Shoot,(int)EnumProperty.FreeKick});
            //_positionPropertyDic.Add((int)EnumPosition.Midfielder, new List<int>() { (int)EnumProperty.Dribble, (int)EnumProperty.Pass, (int)EnumProperty.Mentality });
            //_positionPropertyDic.Add((int)EnumPosition.Fullback, new List<int>() { (int)EnumProperty.Aggression, (int)EnumProperty.Disturb, (int)EnumProperty.Interception });
            //_positionPropertyDic.Add((int)EnumPosition.Goalkeeper, new List<int>() { (int)EnumProperty.HandControl, (int)EnumProperty.Response, (int)EnumProperty.Positioning });

            _positionSkillDic = new Dictionary <int, List <int> >();
            _positionSkillDic.Add((int)EnumPosition.Forward, new List <int>()
            {
                (int)EnumSKillActType.Shoot
            });
            _positionSkillDic.Add((int)EnumPosition.Midfielder, new List <int>()
            {
                (int)EnumSKillActType.Through, (int)EnumSKillActType.Organize
            });
            _positionSkillDic.Add((int)EnumPosition.Fullback, new List <int>()
            {
                (int)EnumSKillActType.Defence
            });
            _positionSkillDic.Add((int)EnumPosition.Goalkeeper, new List <int>()
            {
                (int)EnumSKillActType.GoalKeep
            });

            _init = true;


            var allPlayer = DicPlayerMgr.GetAllForCache();

            _playerDic = new Dictionary <string, List <int> >();
            foreach (var item in allPlayer)
            {
                if (item.CardLevel == 6 || item.CardLevel == 5)
                {
                    continue;
                }
                if (!_playerDic.ContainsKey(item.PositionDesc))
                {
                    _playerDic.Add(item.PositionDesc, new List <int>());
                }
                _playerDic[item.PositionDesc].Add(item.Idx);
            }
        }
Esempio n. 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);
        }