Exemplo n.º 1
0
 private BuffCache()
 {
     try
     {
         s_dicBuffIdx4PlayerProp.Clear();
         s_dicBuffIdx4ManagerShow.Clear();
         s_dicBuff.Clear();
         s_dicBaseBuff.Clear();
         s_dicSkill.Clear();
         s_dicSkillRef.Clear();
         s_dicPoolIncBuff.Clear();
         s_dicPoolExcBuff.Clear();
         s_dicFirmBuff.Clear();
         s_dicReadyBuff.Clear();
         var buffs  = DicBuffMgr.GetAllForCache();
         var skills = DicSkillMgr.GetAll();
         var pools  = ConfigBuffpoolMgr.GetAll();
         var flows  = ConfigBuffengineMgr.GetAll();
         for (int i = 0; i < BUFFCodes4PlayerProp.Length; ++i)
         {
             s_dicBuffIdx4PlayerProp[(int)BUFFCodes4PlayerProp[i]] = i;
         }
         for (int i = 0; i < BUFFCodes4ManagerShow.Length; ++i)
         {
             s_dicBuffIdx4ManagerShow[(int)BUFFCodes4ManagerShow[i]] = i;
         }
         foreach (var item in buffs)
         {
             s_dicBuff[item.BuffId] = item;
             if (string.IsNullOrEmpty(item.BaseBuffMap))
             {
                 s_dicBaseBuff[item.BuffId] = new int[] { item.BuffId }
             }
             ;
             else
             {
                 s_dicBaseBuff[item.BuffId] = FrameUtil.CastIntArray(item.BaseBuffMap, SPLITValues);
             }
         }
         string skillKey, skillRefKey;
         skillKey = skillRefKey = string.Empty;
         foreach (var item in skills)
         {
             item.AsLiveFlag      = item.LiveFlag > 0 ? EnumSkillLiveFlag.Live : EnumSkillLiveFlag.None;
             skillKey             = CastSkillKey(item.SkillCode, item.SkillLevel);
             skillRefKey          = CastSkillRefKey(item.RefType, item.RefKey, item.RefFlag);
             s_dicSkill[skillKey] = item;
             if (!string.IsNullOrEmpty(skillRefKey))
             {
                 s_dicSkillRef[skillRefKey] = skillKey;
             }
         }
         DicSkillEntity aObj = null;
         foreach (var item in pools)
         {
             skillKey = CastSkillKey(item.SkillCode, item.SkillLevel);
             if (!s_dicSkill.TryGetValue(skillKey, out aObj))
             {
                 aObj = new DicSkillEntity
                 {
                     SkillCode   = item.SkillCode,
                     SkillLevel  = item.SkillLevel,
                     BuffSrcType = item.BuffSrcType,
                 };
                 s_dicSkill[skillKey] = aObj;
             }
             aObj.PoolFlag       = 1;
             aObj.AsLiveFlag    |= item.LiveFlag == 0 ? EnumSkillLiveFlag.Firm : EnumSkillLiveFlag.Ready;
             item.BaseBuffList   = GetBaseBuffArray(item.BuffMap);
             item.PropIndexList  = GetPropIndexArray(item.BaseBuffList);
             item.AsBuffUnitType = GetBuffUnitType(item.BaseBuffList);
             if (!s_dicPoolIncBuff.ContainsKey(skillKey))
             {
                 s_dicPoolIncBuff[skillKey] = new List <ConfigBuffpoolEntity>();
             }
             s_dicPoolIncBuff[skillKey].Add(item);
         }
         GenPoolExcBuff(pools);
         foreach (var item in flows)
         {
             skillKey = CastSkillKey(item.SkillCode, item.SkillLevel);
             if (!s_dicSkill.TryGetValue(skillKey, out aObj))
             {
                 aObj = new DicSkillEntity
                 {
                     SkillCode   = item.SkillCode,
                     SkillLevel  = item.SkillLevel,
                     BuffSrcType = item.BuffSrcType,
                 };
                 s_dicSkill[skillKey] = aObj;
             }
             aObj.AsLiveFlag    |= item.LiveFlag == 0 ? EnumSkillLiveFlag.Firm : EnumSkillLiveFlag.Ready;
             item.BaseBuffList   = GetBaseBuffArray(item.BuffMap);
             item.PropIndexList  = GetPropIndexArray(item.BaseBuffList);
             item.AsBuffUnitType = GetBuffUnitType(item.BaseBuffList);
             if (item.LiveFlag == 0)
             {
                 if (!s_dicFirmBuff.ContainsKey(skillKey))
                 {
                     s_dicFirmBuff[skillKey] = new List <ConfigBuffengineEntity>();
                 }
                 s_dicFirmBuff[skillKey].Add(item);
             }
             else
             {
                 if (!s_dicReadyBuff.ContainsKey(skillKey))
                 {
                     s_dicReadyBuff[skillKey] = new List <ConfigBuffengineEntity>();
                 }
                 s_dicReadyBuff[skillKey].Add(item);
             }
         }
         this.InitFlag = true;
     }
     catch (Exception ex)
     {
         LogHelper.Insert(ex, "BuffCache:Init");
         this.InitFlag = false;
     }
 }
Exemplo 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);
        }