public static void initialize() { ZhanMengShiJianManager.getInstance().initialize(); JingJiChangManager.getInstance().initialize(); LiXianBaiTanManager.getInstance().initialize(); LiXianGuaJiManager.getInstance().initialize(); CmdRegisterTriggerManager.getInstance().initialize(); SendCmdManager.getInstance().initialize(); BossAIManager.getInstance().initialize(); WashPropsManager.initialize(); SaleManager.getInstance().initialize(); LianZhiManager.GetInstance().initialize(); ChengJiuManager.GetInstance().initialize(); PrestigeMedalManager.getInstance().initialize(); UnionPalaceManager.getInstance().initialize(); UserActivateManager.getInstance().initialize(); PetSkillManager.getInstance().initialize(); UserReturnManager.getInstance().initialize(); OlympicsManager.getInstance().initialize(); TalentManager.getInstance().initialize(); TodayManager.getInstance().initialize(); FundManager.getInstance().initialize(); WarnManager.getInstance().initialize(); EMoLaiXiCopySceneManager.LoadEMoLaiXiCopySceneInfo(); LuoLanFaZhenCopySceneManager.initialize(); MarryFuBenMgr.getInstance().initialize(); MarryLogic.LoadMarryBaseConfig(); MarryPartyLogic.getInstance().LoadMarryPartyConfig(); BuildingManager.getInstance().initialize(); OnePieceManager.getInstance().initialize(); GlobalServiceManager.RegisterManager4Scene(0, SingletonTemplate <CopyTeamManager> .Instance()); GlobalServiceManager.RegisterManager4Scene(0, KuaFuManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(35, LangHunLingYuManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, RebornManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, RebornBoss.getInstance()); GlobalServiceManager.RegisterManager4Scene(24, LuoLanChengZhanManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, FashionManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, OrnamentManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ShenJiFuWenManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, YaoSaiJianYuManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, AlchemyManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, EraManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, VideoLogic.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, SpecPlatFuLiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(25, HuanYingSiYuanManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(10000, JingLingQiYuanManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(26, TianTiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(27, YongZheZhanChangManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(39, KingOfBattleManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(45, BangHuiMatchManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(48, CompManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(52, CompBattleManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(53, CompMineManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(57, ZorkBattleManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(47, KuaFuLueDuoManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, KarenBattleManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(41, KarenBattleManager_MapWest.getInstance()); GlobalServiceManager.RegisterManager4Scene(42, KarenBattleManager_MapEast.getInstance()); GlobalServiceManager.RegisterManager4Scene(29, SingletonTemplate <MoRiJudgeManager> .Instance()); GlobalServiceManager.RegisterManager4Scene(28, ElementWarManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(49, WanMoXiaGuManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(34, CopyWolfManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(31, KuaFuBossManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(10003, KuaFuMapManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(10002, SpreadManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(36, SingletonTemplate <ZhengBaManager> .Instance()); GlobalServiceManager.RegisterManager4Scene(38, SingletonTemplate <CoupleArenaManager> .Instance()); GlobalServiceManager.RegisterManager4Scene(10004, AllyManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(10005, SingletonTemplate <CoupleWishManager> .Instance()); GlobalServiceManager.RegisterManager4Scene(40, ZhengDuoManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, AoYunDaTiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, RoleManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ZhuanPanManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ShenQiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, JunTuanManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, LingDiCaiJiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, HongBaoManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, YaoSaiBossManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, YaoSaiMissionManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, HuiJiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, DeControl.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, GVoiceManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ShenShiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, JueXingManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ZuoQiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ThemeBoss.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, ArmorManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, JingLingYuanSuJueXingManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, BianShenManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(55, TianTi5v5Manager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, UserRegressActiveManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, MountHolyStampManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, MazingerStoreManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, GlodAuctionProcessCmdEx.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, BoCaiManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, FunctionSendManager.GetInstance()); GlobalServiceManager.RegisterManager4Scene(0, HuanLeDaiBiManager.GetInstance()); GlobalServiceManager.RegisterManager4Scene(0, NewTimerProc.GetInstance()); GlobalServiceManager.RegisterManager4Scene(56, ZhanDuiZhengBaManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(59, EscapeBattleManager.getInstance()); GlobalServiceManager.RegisterManager4Scene(0, TestReceiveModel.getInstance()); RobotTaskValidator.getInstance().Initialize(false, 0, 0, ""); HolyItemManager.getInstance().Initialize(); TarotManager.getInstance().Initialize(); SingletonTemplate <SevenDayActivityMgr> .Instance().initialize(); SingletonTemplate <SoulStoneManager> .Instance().initialize(); SingletonTemplate <TradeBlackManager> .Instance().LoadConfig(); lock (GlobalServiceManager.Scene2ManagerDict) { foreach (List <IManager> list in GlobalServiceManager.Scene2ManagerDict.Values) { foreach (IManager i in list) { bool success = true; try { success = (success && i.initialize()); IManager2 m2 = i as IManager2; if (null != m2) { success = (success && m2.initialize(GameCoreInterface.getinstance())); } } catch (Exception ex) { success = false; LogManager.WriteException(ex.ToString()); } if (GameManager.ServerStarting && !success) { LogManager.WriteLog(LogTypes.Fatal, string.Format("执行{0}.initialize()失败,按任意键继续启动!", i.GetType()), null, true); Console.ReadKey(); } } } } TenManager.getInstance().initialize(); TenRetutnManager.getInstance().initialize(); GiftCodeNewManager.getInstance().initialize(); FaceBookManager.getInstance().initialize(); AssemblyPatchManager.getInstance().initialize(); IPStatisticsManager.getInstance().initialize(); FuMoManager.getInstance().Initialize(); }
public static TCPProcessCmdResults SaleDamonsProcess(GameClient client, int nRoleID, string strGoodsID) { int nTotalMoHe = 0; string[] idsList = strGoodsID.Split(new char[] { ',' }); int i = 0; while (i < idsList.Length) { int goodsDbID = Global.SafeConvertToInt32(idsList[i]); GoodsData goodsData = Global.GetGoodsByDbID(client, goodsDbID); if (goodsData != null && goodsData.Site == 0 && goodsData.Using <= 0) { int category = Global.GetGoodsCatetoriy(goodsData.GoodsID); if (category >= 9 && category <= 10) { SystemXmlItem xmlItem = null; if (GameManager.SystemGoods.SystemXmlItemDict.TryGetValue(goodsData.GoodsID, out xmlItem) && null != xmlItem) { string modGoodsCmd = string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}", new object[] { client.ClientData.RoleID, 4, goodsData.Id, goodsData.GoodsID, 0, goodsData.Site, goodsData.GCount, goodsData.BagIndex, "" }); if (TCPProcessCmdResults.RESULT_OK == Global.ModifyGoodsByCmdParams(client, modGoodsCmd, "客户端修改", null)) { int nMoHePrice = xmlItem.GetIntValue("ZhanHunPrice", -1); if (nMoHePrice > 0) { nTotalMoHe += nMoHePrice; } for (int j = 0; j < goodsData.Forge_level; j++) { SystemXmlItem xmlItems = null; GameManager.SystemDamonUpgrade.SystemXmlItemDict.TryGetValue(j + 2, out xmlItems); if (null != xmlItems) { int nReqMoHe = xmlItems.GetIntValue("NeedEXP", -1); if (nReqMoHe > 0) { nTotalMoHe += nReqMoHe; } } } nTotalMoHe += (int)PetSkillManager.DelGoodsReturnLingJing(goodsData); } } } } IL_20D: i++; continue; goto IL_20D; } if (nTotalMoHe > 0) { GameManager.ClientMgr.ModifyMUMoHeValue(client, nTotalMoHe, "一键出售或者回收", true, true, false); } return(TCPProcessCmdResults.RESULT_OK); }
/// <summary> /// 精灵回收处理 /// </summary> public static TCPProcessCmdResults SaleDamonsProcess(GameClient client, int nRoleID, String strGoodsID) { int nTotalMoHe = 0; //int totalExp = 0; string[] idsList = strGoodsID.Split(','); for (int i = 0; i < idsList.Length; i++) { int goodsDbID = Global.SafeConvertToInt32(idsList[i]); GoodsData goodsData = Global.GetGoodsByDbID(client, goodsDbID); if (null != goodsData && goodsData.Site == 0 && goodsData.Using <= 0) //必须在背包中 { int category = Global.GetGoodsCatetoriy(goodsData.GoodsID); //判断是否装备,装备才能分解 if (category < (int)ItemCategories.ShouHuChong || category > (int)ItemCategories.ChongWu) { continue; } SystemXmlItem xmlItem = null; if (!GameManager.SystemGoods.SystemXmlItemDict.TryGetValue(goodsData.GoodsID, out xmlItem) || null == xmlItem) { continue; } string modGoodsCmd = String.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}", client.ClientData.RoleID, (int)ModGoodsTypes.Destroy, goodsData.Id, goodsData.GoodsID, 0, goodsData.Site, goodsData.GCount, goodsData.BagIndex, ""); if (TCPProcessCmdResults.RESULT_OK != Global.ModifyGoodsByCmdParams(client, modGoodsCmd)) { continue; } // 精灵回收魔核=精灵等级所需魔核和+基础魔核 int nMoHePrice = xmlItem.GetIntValue("ZhanHunPrice"); if (nMoHePrice > 0) { nTotalMoHe += nMoHePrice; } for (int j = 0; j < goodsData.Forge_level; j++) { SystemXmlItem xmlItems = null; GameManager.SystemDamonUpgrade.SystemXmlItemDict.TryGetValue(j + 2, out xmlItems); if (null == xmlItems) { continue; } int nReqMoHe = xmlItems.GetIntValue("NeedEXP"); if (nReqMoHe > 0) { nTotalMoHe += nReqMoHe; } } nTotalMoHe += (int)PetSkillManager.DelGoodsReturnLingJing(goodsData); } } // 增加天地精元 必须设置通知客户端 if (nTotalMoHe > 0) { GameManager.ClientMgr.ModifyMUMoHeValue(client, nTotalMoHe, "一键出售或者回收", true, true); } return(TCPProcessCmdResults.RESULT_OK); }
/// <summary> /// 重新计算和设置角色从精灵奇缘系统活动的属性 /// </summary> /// <param name="client"></param> /// <param name="notifyPorpsChangeInfo"></param> public void RefreshProps(GameClient client, bool notifyPorpsChangeInfo = true) { // 如果1.5的功能没开放 if (GameFuncControlManager.IsGameFuncDisabled(GameFuncType.System1Dot5)) { return; } int sumPetLevel = 0; int findPetLevel = 0; int sumPetTianFuNum = 0; int findPetTianFuNum = 0; List <PetSkillInfo> petSkillList = new List <PetSkillInfo>(); EquipPropItem petLevelAwardItem = null; EquipPropItem petTianFuAwardItem = null; EquipPropItem petSkillAwardItem = null; Dictionary <int, GoodsData> havingPetDict = new Dictionary <int, GoodsData>(); Dictionary <int, EquipPropItem> groupPropItemDict = new Dictionary <int, EquipPropItem>(); List <GoodsData> demonGoodsList = DamonMgr.GetDemonGoodsDataList(client); foreach (var goodsData in demonGoodsList) { GoodsData existGoodsData; if (!havingPetDict.TryGetValue(goodsData.GoodsID, out existGoodsData)) { existGoodsData = new GoodsData(); existGoodsData.GoodsID = goodsData.GoodsID; existGoodsData.GCount = 0; havingPetDict[existGoodsData.GoodsID] = existGoodsData; } existGoodsData.GCount++; sumPetLevel += goodsData.Forge_level + 1; //潜规则,客户端显示的是这个值+1 sumPetTianFuNum += Global.GetEquipExcellencePropNum(goodsData); petSkillList.AddRange(PetSkillManager.GetPetSkillInfo(goodsData)); } lock (RuntimeData.Mutex) { //等级奇缘 foreach (var item in RuntimeData.PetLevelAwardList) { if (sumPetLevel >= item.Level && item.Level > findPetLevel) { findPetLevel = item.Level; petLevelAwardItem = item.PropItem; } } //天赋奇缘 foreach (var item in RuntimeData.PetTianFuAwardList) { if (sumPetTianFuNum >= item.TianFuNum && item.TianFuNum > findPetTianFuNum) { findPetTianFuNum = item.TianFuNum; petTianFuAwardItem = item.PropItem; } } //精灵组合 foreach (var item in RuntimeData.PetGroupPropertyList) { groupPropItemDict[item.Id] = null; bool avalid = true; foreach (var list in item.PetGoodsList) { GoodsData existGoodsData; if (!havingPetDict.TryGetValue(list[0], out existGoodsData) || existGoodsData.GCount < list[1]) { avalid = false; break; } } if (avalid) { groupPropItemDict[item.Id] = item.PropItem; } } //精灵技能 foreach (var item in RuntimeData.PetSkillAwardList) { int sum = 0; foreach (var p in item.SkillList) { var temp = from info in petSkillList where info.PitIsOpen && info.SkillID > 0 && info.SkillID == p select info; if (temp.Any()) { sum += temp.Count(); } } if (sum < item.SkillNum) { break; } petSkillAwardItem = item.GroupProp; } } client.ClientData.PropsCacheManager.SetExtProps(PropsSystemTypes.JingLingQiYuan, SubPropsTypes.Level, petLevelAwardItem); client.ClientData.PropsCacheManager.SetExtProps(PropsSystemTypes.JingLingQiYuan, SubPropsTypes.TianFuNum, petTianFuAwardItem); foreach (var groupPropItem in groupPropItemDict) { client.ClientData.PropsCacheManager.SetExtProps(PropsSystemTypes.JingLingQiYuan, SubPropsTypes.PetGroup, groupPropItem.Key, groupPropItem.Value); } client.ClientData.PropsCacheManager.SetExtProps(PropsSystemTypes.JingLingQiYuan, SubPropsTypes.PetSkill, petSkillAwardItem); if (notifyPorpsChangeInfo) { //通知客户端属性变化 GameManager.ClientMgr.NotifyUpdateEquipProps(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client); // 总生命值和魔法值变化通知(同一个地图才需要通知) GameManager.ClientMgr.NotifyOthersLifeChanged(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client); } }
public static void initialize() { #if BetaConfig int round = 9; Console.WriteLine("连接调试器或按任意键继续"); do { Console.Write("\b\b" + round); if (Console.KeyAvailable) { break; } Thread.Sleep(1000); } while (--round > 0); Console.Write("\b\b"); #endif //战盟事件管理器 ZhanMengShiJianManager.getInstance().initialize(); //竞技场管理器 JingJiChangManager.getInstance().initialize(); //离线摆摊 LiXianBaiTanManager.getInstance().initialize(); //离线挂机 LiXianGuaJiManager.getInstance().initialize(); //副本活动组队管理器 CopyTeamManager.Instance().initialize(); //指令注册管理器 CmdRegisterTriggerManager.getInstance().initialize(); //发送指令管理 SendCmdManager.getInstance().initialize(); //Boss AI管理器 BossAIManager.getInstance().initialize(); //洗炼管理器 WashPropsManager.initialize(); //MU交易所 SaleManager.getInstance().initialize(); //炼制系统 LianZhiManager.GetInstance().initialize(); // 成就升级 ChengJiuManager.GetInstance().initialize(); //声望勋章 PrestigeMedalManager.getInstance().initialize(); UnionPalaceManager.getInstance().initialize(); UserActivateManager.getInstance().initialize(); PetSkillManager.getInstance().initialize(); //玩家召回 UserReturnManager.getInstance().initialize(); //天赋 TalentManager.getInstance().initialize(); //每日专享 TodayManager.getInstance().initialize(); FundManager.getInstance().initialize(); //警告 WarnManager.getInstance().initialize(); //恶魔来袭 EMoLaiXiCopySceneManager.LoadEMoLaiXiCopySceneInfo(); //罗兰法阵副本 LuoLanFaZhenCopySceneManager.initialize(); //情侣副本管理器 MarryFuBenMgr.getInstance().initialize(); MarryLogic.LoadMarryBaseConfig(); MarryPartyLogic.getInstance().LoadMarryPartyConfig(); //领地 BuildingManager.getInstance().initialize(); // 藏宝秘境 OnePieceManager.getInstance().initialize(); //初始化跨服相关管理器 RegisterManager4Scene((int)SceneUIClasses.Normal, KuaFuManager.getInstance()); // RegisterManager4Scene((int)SceneUIClasses.LangHunLingYu, LangHunLingYuManager.getInstance()); //注册罗兰城战管理器 RegisterManager4Scene((int)SceneUIClasses.LuoLanChengZhan, LuoLanChengZhanManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.Normal, FashionManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.HuanYingSiYuan, HuanYingSiYuanManager.getInstance()); RegisterManager4Scene((int)ManagerTypes.ClientGoodsList, JingLingQiYuanManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.TianTi, TianTiManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.YongZheZhanChang, YongZheZhanChangManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.KingOfBattle, KingOfBattleManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.MoRiJudge, MoRiJudgeManager.Instance()); RegisterManager4Scene((int)SceneUIClasses.ElementWar, ElementWarManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.CopyWolf, CopyWolfManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.KuaFuBoss, KuaFuBossManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.KuaFuMap, KuaFuMapManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.Spread, SpreadManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.KFZhengBa, ZhengBaManager.Instance()); RegisterManager4Scene((int)SceneUIClasses.CoupleArena, CoupleArenaManager.Instance()); RegisterManager4Scene((int)SceneUIClasses.Ally, AllyManager.getInstance()); RegisterManager4Scene((int)SceneUIClasses.CoupleWish, CoupleWishManager.Instance()); // 读取外挂列表和相关配置 RobotTaskValidator.getInstance().Initialize(false, 0, 0, ""); //初始化圣物系统相关配置 HolyItemManager.getInstance().Initialize(); //初始化塔罗牌相关配置 TarotManager.getInstance().Initialize(); // 七日活动 SevenDayActivityMgr.Instance().initialize(); // 魂石 SoulStoneManager.Instance().initialize(); TradeBlackManager.Instance().LoadConfig(); //调用所有注册的管理模块的初始化函数 lock (Scene2ManagerDict) { foreach (var list in Scene2ManagerDict.Values) { foreach (var m in list) { bool success = m.initialize(); IManager2 m2 = m as IManager2; if (null != m2) { success = success && m2.initialize(GameCoreInterface.getinstance()); } if (GameManager.ServerStarting && !success) { LogManager.WriteLog(LogTypes.Fatal, string.Format("执行{0}.initialize()失败,按任意键继续启动!", m.GetType())); //Console.ReadKey(); HX_SERVER close the copy scenes; } } } } //应用宝 TenManager.getInstance().initialize(); TenRetutnManager.getInstance().initialize(); //礼包码 GiftCodeNewManager.getInstance().initialize(); }
public static void destroy() { //战盟事件管理器 ZhanMengShiJianManager.getInstance().destroy(); //竞技场管理器 JingJiChangManager.getInstance().destroy(); //离线摆摊 LiXianBaiTanManager.getInstance().destroy(); //离线挂机 LiXianGuaJiManager.getInstance().destroy(); //副本活动组队管理器 CopyTeamManager.Instance().destroy(); //指令注册管理器 CmdRegisterTriggerManager.getInstance().destroy(); //发送指令管理 SendCmdManager.getInstance().destroy(); //Boss AI管理器 BossAIManager.getInstance().destroy(); //MU交易所 SaleManager.getInstance().destroy(); //炼制系统 LianZhiManager.GetInstance().destroy(); // 成就升级 ChengJiuManager.GetInstance().destroy(); //声望勋章 PrestigeMedalManager.getInstance().destroy(); UnionPalaceManager.getInstance().destroy(); UserActivateManager.getInstance().destroy(); PetSkillManager.getInstance().destroy(); //玩家召回 UserReturnManager.getInstance().destroy(); //天赋 TalentManager.getInstance().destroy(); //每日专享 TodayManager.getInstance().destroy(); FundManager.getInstance().destroy(); WarnManager.getInstance().destroy(); //情侣副本管理器 MarryFuBenMgr.getInstance().destroy(); //领地 BuildingManager.getInstance().destroy(); //藏宝秘境 OnePieceManager.getInstance().destroy(); TenManager.getInstance().destroy(); // 七日活动 SevenDayActivityMgr.Instance().destroy(); SoulStoneManager.Instance().destroy(); //调用所有注册的管理模块的销毁函数 lock (Scene2ManagerDict) { foreach (var list in Scene2ManagerDict.Values) { foreach (var m in list) { m.destroy(); } } } }
public static void startup() { //战盟事件管理器 ZhanMengShiJianManager.getInstance().startup(); //竞技场管理器 JingJiChangManager.getInstance().startup(); //离线摆摊 LiXianBaiTanManager.getInstance().startup(); //离线挂机 LiXianGuaJiManager.getInstance().startup(); //副本活动组队管理器 CopyTeamManager.Instance().startup(); //指令注册管理器 CmdRegisterTriggerManager.getInstance().startup(); //发送指令管理 SendCmdManager.getInstance().startup(); //Boss AI管理器 BossAIManager.getInstance().startup(); //MU交易所 SaleManager.getInstance().startup(); //炼制系统 LianZhiManager.GetInstance().startup(); // 成就升级 ChengJiuManager.GetInstance().startup(); //玩家召回 UserReturnManager.getInstance().startup(); //天赋 TalentManager.getInstance().startup(); //每日专享 TodayManager.getInstance().startup(); FundManager.getInstance().startup(); WarnManager.getInstance().startup(); //声望勋章 PrestigeMedalManager.getInstance().startup(); UnionPalaceManager.getInstance().startup(); UserActivateManager.getInstance().startup(); PetSkillManager.getInstance().startup(); //领地 BuildingManager.getInstance().startup(); //藏宝秘境 OnePieceManager.getInstance().startup(); TenManager.getInstance().startup(); // 七日活动 SevenDayActivityMgr.Instance().startup(); SoulStoneManager.Instance().startup(); //调用所有注册的管理模块的启动函数 lock (Scene2ManagerDict) { foreach (var list in Scene2ManagerDict.Values) { foreach (var m in list) { bool success = m.startup(); if (GameManager.ServerStarting && !success) { LogManager.WriteLog(LogTypes.Fatal, string.Format("初始化{0}.startup()失败,按任意键忽略此错误并继续启动服务器!", m.GetType())); Console.ReadKey(); } } } } }
public void RefreshProps(GameClient client, bool notifyPorpsChangeInfo = true) { if (!GameFuncControlManager.IsGameFuncDisabled(GameFuncType.System1Dot5)) { int sumPetLevel = 0; int findPetLevel = 0; int sumPetTianFuNum = 0; int findPetTianFuNum = 0; int sumPetSkillLevel = 0; int findPetSkillLevel = 0; List <PetSkillInfo> petSkillList = new List <PetSkillInfo>(); EquipPropItem petLevelAwardItem = null; EquipPropItem petTianFuAwardItem = null; EquipPropItem petSkillAwardItem = null; EquipPropItem petSkillLevelAwardItem = null; Dictionary <int, GoodsData> havingPetDict = new Dictionary <int, GoodsData>(); Dictionary <int, EquipPropItem> groupPropItemDict = new Dictionary <int, EquipPropItem>(); List <GoodsData> demonGoodsList = DamonMgr.GetDemonGoodsDataList(client); foreach (GoodsData goodsData in demonGoodsList) { GoodsData existGoodsData; if (!havingPetDict.TryGetValue(goodsData.GoodsID, out existGoodsData)) { existGoodsData = new GoodsData(); existGoodsData.GoodsID = goodsData.GoodsID; existGoodsData.GCount = 0; havingPetDict[existGoodsData.GoodsID] = existGoodsData; } existGoodsData.GCount++; sumPetLevel += goodsData.Forge_level + 1; sumPetTianFuNum += Global.GetEquipExcellencePropNum(goodsData); petSkillList.AddRange(PetSkillManager.GetPetSkillInfo(goodsData)); } foreach (PetSkillInfo item in petSkillList) { sumPetSkillLevel += (item.PitIsOpen ? item.Level : 0); } lock (this.RuntimeData.Mutex) { foreach (PetLevelAwardItem item2 in this.RuntimeData.PetLevelAwardList) { if (sumPetLevel >= item2.Level && item2.Level > findPetLevel) { findPetLevel = item2.Level; petLevelAwardItem = item2.PropItem; } } foreach (PetTianFuAwardItem item3 in this.RuntimeData.PetTianFuAwardList) { if (sumPetTianFuNum >= item3.TianFuNum && item3.TianFuNum > findPetTianFuNum) { findPetTianFuNum = item3.TianFuNum; petTianFuAwardItem = item3.PropItem; } } foreach (PetGroupPropertyItem item4 in this.RuntimeData.PetGroupPropertyList) { groupPropItemDict[item4.Id] = null; bool avalid = true; foreach (List <int> list in item4.PetGoodsList) { GoodsData existGoodsData; if (!havingPetDict.TryGetValue(list[0], out existGoodsData) || existGoodsData.GCount < list[1]) { avalid = false; break; } } if (avalid) { groupPropItemDict[item4.Id] = item4.PropItem; } } foreach (PetSkillGroupInfo item5 in this.RuntimeData.PetSkillAwardList) { int sum = 0; using (List <int> .Enumerator enumerator8 = item5.SkillList.GetEnumerator()) { while (enumerator8.MoveNext()) { int p = enumerator8.Current; IEnumerable <PetSkillInfo> temp = from info in petSkillList where info.PitIsOpen && info.SkillID > 0 && info.SkillID == p select info; if (temp.Any <PetSkillInfo>()) { sum += temp.Count <PetSkillInfo>(); } } } if (sum < item5.SkillNum) { break; } petSkillAwardItem = item5.GroupProp; } foreach (PetSkillLevelAwardItem item6 in this.RuntimeData.PetSkillLevelAwardList) { if (sumPetSkillLevel >= item6.Level && item6.Level > findPetSkillLevel) { findPetSkillLevel = item6.Level; petSkillLevelAwardItem = item6.PropItem; } } } client.ClientData.PropsCacheManager.SetExtProps(new object[] { PropsSystemTypes.JingLingQiYuan, 0, petLevelAwardItem }); client.ClientData.PropsCacheManager.SetExtProps(new object[] { PropsSystemTypes.JingLingQiYuan, 1, petTianFuAwardItem }); foreach (KeyValuePair <int, EquipPropItem> groupPropItem in groupPropItemDict) { client.ClientData.PropsCacheManager.SetExtProps(new object[] { PropsSystemTypes.JingLingQiYuan, 2, groupPropItem.Key, groupPropItem.Value }); } client.ClientData.PropsCacheManager.SetExtProps(new object[] { PropsSystemTypes.JingLingQiYuan, 3, petSkillAwardItem }); client.ClientData.PropsCacheManager.SetExtProps(new object[] { PropsSystemTypes.JingLingQiYuan, 4, petSkillLevelAwardItem }); if (notifyPorpsChangeInfo) { GameManager.ClientMgr.NotifyUpdateEquipProps(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client); GameManager.ClientMgr.NotifyOthersLifeChanged(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, true, false, 7); } } }