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; } }
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); }