public void OnLeaveScene(GameClient client, SceneUIClasses sceneType, bool logout = false) { if (client.ClientSocket.IsKuaFuLogin) { switch (sceneType) { case SceneUIClasses.HuanYingSiYuan: HuanYingSiYuanManager.getInstance().OnLogout(client); break; case SceneUIClasses.TianTi: TianTiManager.getInstance().OnLogout(client); break; case SceneUIClasses.YongZheZhanChang: YongZheZhanChangManager.getInstance().OnLogout(client); break; case SceneUIClasses.KingOfBattle: KingOfBattleManager.getInstance().OnLogout(client); break; case SceneUIClasses.MoRiJudge: MoRiJudgeManager.Instance().OnLogOut(client); break; case SceneUIClasses.ElementWar: ElementWarManager.getInstance().OnLogout(client); break; case SceneUIClasses.LangHunLingYu: LangHunLingYuManager.getInstance().OnLogout(client); break; case SceneUIClasses.CopyWolf: CopyWolfManager.getInstance().OnLogout(client); break; case SceneUIClasses.KFZhengBa: ZhengBaManager.Instance().OnLogout(client); break; case SceneUIClasses.CoupleArena: CoupleArenaManager.Instance().OnLeaveFuBen(client); break; } if (!logout) { GotoLastMap(client); } } }
public bool OnInitGame(GameClient client) { int gameType = Global.GetClientKuaFuServerLoginData(client).GameType; switch (gameType) { case (int)GameTypes.HuanYingSiYuan: return(HuanYingSiYuanManager.getInstance().OnInitGame(client)); case (int)GameTypes.TianTi: return(TianTiManager.getInstance().OnInitGame(client)); case (int)GameTypes.YongZheZhanChang: return(YongZheZhanChangManager.getInstance().OnInitGame(client)); case (int)GameTypes.KingOfBattle: return(KingOfBattleManager.getInstance().OnInitGame(client)); case (int)GameTypes.MoRiJudge: return(MoRiJudgeManager.Instance().OnInitGame(client)); case (int)GameTypes.ElementWar: return(ElementWarManager.getInstance().OnInitGame(client)); case (int)GameTypes.KuaFuBoss: return(KuaFuBossManager.getInstance().OnInitGame(client)); case (int)GameTypes.KuaFuMap: return(KuaFuMapManager.getInstance().OnInitGame(client)); case (int)GameTypes.KuaFuCopy: return(CopyTeamManager.Instance().HandleKuaFuInitGame(client)); case (int)GameTypes.LangHunLingYu: return(LangHunLingYuManager.getInstance().OnInitGameKuaFu(client)); case (int)GameTypes.ZhengBa: return(ZhengBaManager.Instance().KuaFuInitGame(client)); case (int)GameTypes.CoupleArena: return(CoupleArenaManager.Instance().KuaFuInitGame(client)); } return(false); }
public static void ReloadAllXmlFile() { WorldLevelManager.getInstance().InitConfig(); WorldLevelManager.getInstance().ResetWorldLevel(); ReloadXmlManager.ReloadXmlFile_config_platconfig(); ReloadXmlManager.ReloadXmlFile_config_gifts_activities(); ReloadXmlManager.ReloadXmlFile_config_gifts_biggift(); ReloadXmlManager.ReloadXmlFile_config_gifts_loginnumgift(); ReloadXmlManager.ReloadXmlFile_config_gifts_huodongloginnumgift(); ReloadXmlManager.ReloadXmlFile_config_gifts_newrolegift(); ReloadXmlManager.ReloadXmlFile_config_combat_effectiveness_gift(); ReloadXmlManager.ReloadXmlFile_config_gifts_uplevelgift(); ReloadXmlManager.ReloadXmlFile_config_gifts_onlietimegift(); ReloadXmlManager.ReloadXmlFile_config_mall(); ReloadXmlManager.ReloadXmlFile_config_monstergoodslist(); ReloadXmlManager.ReloadXmlFile_config_broadcastinfos(); ReloadXmlManager.ReloadXmlFile_config_specialtimes(); ReloadXmlManager.ReloadXmlFile_config_battle(); ReloadXmlManager.ReloadXmlFile_config_ArenaBattle(); ReloadXmlManager.ReloadXmlFile_config_popupwin(); ReloadXmlManager.ReloadXmlFile_config_npcscripts(); ReloadXmlManager.ReloadXmlFile_config_systemoperations(); ReloadXmlManager.ReloadXmlFile_config_systemparams(); ReloadXmlManager.ReloadXmlFile_config_goodsmergeitems(); ReloadXmlManager.ReloadXmlFile_config_qizhengegoods(); ReloadXmlManager.ReloadXmlFile_config_npcsalelist(); ReloadXmlManager.ReloadXmlFile_config_goods(); ReloadXmlManager.ReloadXmlFile_config_goodspack(); ReloadXmlManager.ReloadXmlFile_config_systemtasks(); ReloadXmlManager.ReloadXmlFile_config_equipupgrade(); ReloadXmlManager.ReloadXmlFile_config_dig(); ReloadXmlManager.ReloadXmlFile_config_battleexp(); ReloadXmlManager.ReloadXmlFile_config_bangzhanawards(); ReloadXmlManager.ReloadXmlFile_config_rebirth(); ReloadXmlManager.ReloadXmlFile_config_Award(); ReloadXmlManager.ReloadXmlFile_config_EquipBorn(); ReloadXmlManager.ReloadXmlFile_config_BornName(); ReloadXmlManager.ReloadXmlFile_config_gifts_FanLi(); ReloadXmlManager.ReloadXmlFile_config_gifts_ChongZhiSong(); ReloadXmlManager.ReloadXmlFile_config_gifts_ChongZhiKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_LevelKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_EquipKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_HorseKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_JingMaiKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_VipDailyAwards(); ReloadXmlManager.ReloadXmlFile_config_ActivityTip(); ReloadXmlManager.ReloadXmlFile_config_LuckyAward(); ReloadXmlManager.ReloadXmlFile_config_Lucky(); ReloadXmlManager.ReloadXmlFile_config_ChengJiu(); ReloadXmlManager.ReloadXmlFile_config_ChengJiuBuff(); ReloadXmlManager.ReloadXmlFile_config_JingMai(); ReloadXmlManager.ReloadXmlFile_config_WuXue(); ReloadXmlManager.ReloadXmlFile_config_ZuanHuang(); ReloadXmlManager.ReloadXmlFile_config_Vip(); ReloadXmlManager.ReloadXmlFile_config_QiangGou(); ReloadXmlManager.ReloadXmlFile_config_HeFuQiangGou(); ReloadXmlManager.ReloadXmlFile_config_JieRiQiangGou(); ReloadXmlManager.ReloadXmlFile_config_SystemOpen(); ReloadXmlManager.ReloadXmlFile_config_DailyActive(); ReloadXmlManager.ReloadXmlFile_config_DailyActiveAward(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiType(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiLiBao(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiDengLu(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiVip(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiChongZhiSong(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiLeiJi(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiBaoXiang(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiXiaoFeiKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiChongZhiKing(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiTotalConsume(); ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiMultAward(); ReloadXmlManager.ReloadXmlFile_config_bossAI(); ReloadXmlManager.ReloadXmlFile_config_TuoZhan(); ReloadXmlManager.ReloadXmlFile_config_MoJingAndQiFu(); ReloadXmlManager.ReloadXmlFile_config_TotalLoginDataInfo(); GameManager.SystemMagicsMgr.ReloadLoadFromXMlFile(); GameManager.SystemMagicQuickMgr.LoadMagicItemsDict(GameManager.SystemMagicsMgr); HuodongCachingMgr.ResetXinXiaoFeiKingActivity(); HuodongCachingMgr.ResetHeFuActivityConfig(); HuodongCachingMgr.ResetHeFuLoginActivity(); HuodongCachingMgr.ResetHeFuTotalLoginActivity(); HuodongCachingMgr.ResetHeFuRechargeActivity(); HuodongCachingMgr.ResetHeFuPKKingActivity(); HuodongCachingMgr.ResetHeFuAwardTimeActivity(); HuodongCachingMgr.ResetHeFuLuoLanActivity(); HuodongCachingMgr.ResetThemeActivityConfig(); HuodongCachingMgr.ResetThemeDaLiBaoActivity(); HuodongCachingMgr.ResetThemeDuiHuanActivity(); HuodongCachingMgr.ResetThemeZhiGouActivity(); HuodongCachingMgr.ResetJieriActivityConfig(); HuodongCachingMgr.ResetJieriDaLiBaoActivity(); HuodongCachingMgr.ResetJieRiDengLuActivity(); HuodongCachingMgr.ResetJieriCZSongActivity(); HuodongCachingMgr.ResetJieRiLeiJiCZActivity(); HuodongCachingMgr.ResetJieRiTotalConsumeActivity(); HuodongCachingMgr.ResetJieRiMultAwardActivity(); HuodongCachingMgr.ResetJieRiZiKaLiaBaoActivity(); HuodongCachingMgr.ResetJieRiXiaoFeiKingActivity(); HuodongCachingMgr.ResetJieRiCZKingActivity(); HuodongCachingMgr.ResetJieriGiveActivity(); HuodongCachingMgr.ResetJieRiGiveKingActivity(); HuodongCachingMgr.ResetJieriRecvKingActivity(); HuodongCachingMgr.ResetJieRiFanLiAwardActivity(); HuodongCachingMgr.ResetJieriLianXuChargeActivity(); HuodongCachingMgr.ResetJieriRecvActivity(); HuodongCachingMgr.ResetJieriPlatChargeKingActivity(); HuodongCachingMgr.ResetFirstChongZhiGift(); HuodongCachingMgr.ResetDanBiChongZhiActivity(); HuodongCachingMgr.ResetTotalChargeActivity(); HuodongCachingMgr.ResetTotalConsumeActivity(); HuodongCachingMgr.ResetSeriesLoginItem(); HuodongCachingMgr.ResetEveryDayOnLineAwardItem(); HuodongCachingMgr.ResetJieriIPointsExchangeActivity(); HuodongCachingMgr.ResetJieriFuLiActivity(); HuodongCachingMgr.ResetJieriVIPYouHuiAct(); HuodongCachingMgr.ResetJieRiMeiRiLeiJiActivity(); HuodongCachingMgr.ResetJieriPCKingActivityEveryDay(); OlympicsManager.getInstance().InitOlympics(); UserReturnManager.getInstance().initConfigInfo(); HuodongCachingMgr.ResetSpecPriorityActivity(); HuodongCachingMgr.ResetXinFanLiActivity(); HuodongCachingMgr.ResetWeedEndInputActivity(); HuodongCachingMgr.ResetSpecialActivity(); HuodongCachingMgr.ResetJieRiCZQGActivity(); HuodongCachingMgr.ResetOneDollarBuyActivity(); HuodongCachingMgr.ResetJieRiSuperInputFanLiActivity(); HuodongCachingMgr.ResetOneDollarChongZhiActivity(); HuodongCachingMgr.ResetEverydayActivity(); HuodongCachingMgr.ResetInputFanLiNewActivity(); HuodongCachingMgr.ResetRegressActiveOpen(); HuodongCachingMgr.ResetRegressActiveTotalRecharge(); HuodongCachingMgr.ResetRegressActiveStore(); HuodongCachingMgr.ResetRegressActiveDayBuy(); HuodongCachingMgr.ResetRegressActiveSignGift(); WebOldPlayerManager.ReloadXml(); TenManager.initConfig(); Global.CachingJieriXmlData = null; Global.CachingSpecActXmlData = null; Global.CachingEverydayActXmlData = null; Global.CachingThemeActXmlData = null; Global.CachingSpecPriorityActXmlData = null; TodayManager.InitConfig(); BuChangManager.ResetBuChangItemDict(); HuodongCachingMgr.ResetMeiRiChongZhiActivity(); HuodongCachingMgr.ResetChongJiHaoLiActivity(); HuodongCachingMgr.ResetShenZhuangJiQiHuiKuiHaoLiActivity(); HuodongCachingMgr.ResetYueDuZhuanPanActivity(); GongGaoDataManager.LoadGongGaoData(); SaleManager.InitConfig(); GameManager.systemImpetrateByLevelMgr.ReloadLoadFromXMlFile(); QianKunManager.LoadImpetrateItemsInfo(); QianKunManager.LoadImpetrateItemsInfoFree(); QianKunManager.LoadImpetrateItemsInfoHuodong(); QianKunManager.LoadImpetrateItemsInfoFreeHuoDong(); QianKunManager.LoadImpetrateItemsInfoTeQuan(); QianKunManager.LoadImpetrateItemsInfoFreeTeQuan(); GameManager.systemXingYunChouJiangMgr.ReloadLoadFromXMlFile(); GameManager.systemYueDuZhuanPanChouJiangMgr.ReloadLoadFromXMlFile(); Global.LoadSpecialMachineConfig(); ElementhrtsManager.LoadRefineType(); ElementhrtsManager.LoadElementHrtsBase(); ElementhrtsManager.LoadElementHrtsLevelInfo(); ElementhrtsManager.LoadSpecialElementHrtsExp(); GameManager.QingGongYanMgr.LoadQingGongYanConfig(); CopyTargetManager.LoadConfig(); CallPetManager.LoadCallPetType(); CallPetManager.LoadCallPetConfig(); CallPetManager.LoadCallPetSystem(); ShenShiManager.getInstance().ReloadConfig(); Global.LoadGuWuMaps(); Global.LoadAutoReviveMaps(); GameManager.MonsterZoneMgr.LoadAllMonsterXml(); GameManager.VersionSystemOpenMgr.LoadVersionSystemOpenData(); UserMoneyMgr.getInstance().InitConfig(); RobotTaskValidator.getInstance().LoadRobotTaskData(); GameManager.MerlinMagicBookMgr.LoadMerlinConfigData(); GameManager.FluorescentGemMgr.LoadFluorescentGemConfigData(); SingletonTemplate <GetInterestingDataMgr> .Instance().LoadConfig(); SingletonTemplate <CreateRoleLimitManager> .Instance().LoadConfig(); TianTiManager.getInstance().InitConfig(true); TianTi5v5Manager.getInstance().InitConfig(true); YongZheZhanChangManager.getInstance().InitConfig(); KingOfBattleManager.getInstance().InitConfig(); BangHuiMatchManager.getInstance().InitConfig(); ZorkBattleManager.getInstance().InitConfig(); KarenBattleManager.getInstance().InitConfig(); KarenBattleManager_MapWest.getInstance().InitConfig(); KarenBattleManager_MapEast.getInstance().InitConfig(); KuaFuBossManager.getInstance().InitConfig(); KuaFuMapManager.getInstance().InitConfig(); FashionManager.getInstance().InitConfig(); OrnamentManager.getInstance().InitConfig(); ShenJiFuWenManager.getInstance().InitConfig(); YaoSaiJianYuManager.getInstance().InitConfig(); AlchemyManager.getInstance().InitConfig(); ZuoQiManager.getInstance().ReLoadConfig(false); RebornManager.getInstance().InitConfig(true); RebornBoss.getInstance().InitConfig(); SpecPlatFuLiManager.getInstance().InitConfig(); EraManager.getInstance().InitConfig(); JingLingQiYuanManager.getInstance().InitConfig(); AllThingsCalcItem.InitAllForgeLevelInfo(); SingletonTemplate <TradeBlackManager> .Instance().LoadConfig(); Global.LoadLangDict(); LogFilterConfig.InitConfig(); TenRetutnManager.getInstance().InitConfig(); VideoLogic.getInstance().LoadVideoXml(); Data.LoadConfig(); GiftCodeNewManager.getInstance().initGiftCode(); AoYunDaTiManager.getInstance().LoadConfig(); ZhuanPanManager.getInstance().LoadConfig(); JueXingManager.getInstance().LoadConfig(); TalentManager.LoadTalentSpecialData(); AssemblyPatchManager.getInstance().initialize(); IPStatisticsManager.getInstance().LoadConfig(); JunTuanManager.getInstance().InitConfig(); HongBaoManager.getInstance().InitConfig(); HuiJiManager.getInstance().InitConfig(); DeControl.getInstance().InitConfig(); GVoiceManager.getInstance().InitConfig(); KuaFuLueDuoManager.getInstance().InitConfig(); WanMoXiaGuManager.getInstance().InitConfig(); ThemeBoss.getInstance().InitConfig(); ArmorManager.getInstance().InitConfig(); CompBattleManager.getInstance().InitConfig(); CompMineManager.getInstance().InitConfig(); JingLingYuanSuJueXingManager.getInstance().LoadConfig(); BianShenManager.getInstance().InitConfig(); ZhanDuiZhengBaManager.getInstance().InitConfig(); EscapeBattleManager.getInstance().InitConfig(); MazingerStoreManager.getInstance().InitConfig(); BuffManager.InitConfig(); GoldAuctionConfigModel.LoadConfig(); BoCaiConfigMgr.LoadConfig(true); }
public static int ReqStartCaiJi(GameClient client, int monsterId, out int GatherTime) { GatherTime = 0; CaiJiLogic.CancelCaiJiState(client); int result; if (TimeUtil.NOW() < client.ClientData.CurrentMagicActionEndTicks) { result = -43; } else if (client.ClientData.CurrentLifeV <= 0) { CaiJiLogic.CancelCaiJiState(client); result = -3; } else { Monster monster = GameManager.MonsterMgr.FindMonster(client.ClientData.MapCode, monsterId); if (null == monster) { result = -1; } else if (monster.MonsterType != 1601) { result = -4; } else if (monster.IsCollected) { result = -4; } else { SceneUIClasses sceneType = Global.GetMapSceneType(client.ClientData.MapCode); GetCaiJiTimeEventObject eventObj = new GetCaiJiTimeEventObject(client, monster); bool handled = GlobalEventSource4Scene.getInstance().fireEvent(eventObj, (int)sceneType); if (handled) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = eventObj.GatherTime; if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.HuanYingSiYuan) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = HuanYingSiYuanManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.YongZheZhanChang) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = YongZheZhanChangManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.KingOfBattle) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = KingOfBattleManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.Comp) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = CompManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.KarenEast) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = KarenBattleManager_MapEast.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.LingDiCaiJi) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 400.0) { return(-301); } GatherTime = LingDiCaiJiManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.EscapeBattle) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 400.0) { return(-301); } GatherTime = EscapeBattleManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 400.0) { return(-301); } SystemXmlItem CaiJiMonsterXmlItem = null; if (!GameManager.systemCaiJiMonsterMgr.SystemXmlItemDict.TryGetValue(monster.MonsterInfo.ExtensionID, out CaiJiMonsterXmlItem) || null == CaiJiMonsterXmlItem) { return(-4); } GatherTime = CaiJiMonsterXmlItem.GetIntValue("GatherTime", -1); if (client.ClientData.DailyCrystalCollectNum >= CaiJiLogic.DailyNum) { return(-5); } } Global.EndMeditate(client); CaiJiLogic.SetCaiJiState(client, monsterId, 0L, monster.UniqueID); result = 0; } } return(result); }
public static int ReqFinishCaiJi(GameClient client, int monsterId) { int result; if (monsterId != client.ClientData.CaijTargetId || client.ClientData.CaiJiStartTick == 0U || client.ClientData.CaijTargetId == 0) { CaiJiLogic.CancelCaiJiState(client); result = -3; } else if (client.ClientData.CurrentLifeV <= 0) { CaiJiLogic.CancelCaiJiState(client); result = -3; } else { Monster monster = GameManager.MonsterMgr.FindMonster(client.ClientData.MapCode, monsterId); if (null == monster) { CaiJiLogic.CancelCaiJiState(client); result = -1; } else if (monster.UniqueID != client.ClientData.CaiJiTargetUniqueID) { CaiJiLogic.CancelCaiJiState(client); result = -1; } else if (monster.MonsterType != 1601) { CaiJiLogic.CancelCaiJiState(client); result = -4; } else { SystemXmlItem CaiJiMonsterXmlItem = null; SceneUIClasses sceneType = Global.GetMapSceneType(client.ClientData.MapCode); GetCaiJiTimeEventObject eventObj = new GetCaiJiTimeEventObject(client, monster); bool handled = GlobalEventSource4Scene.getInstance().fireEvent(eventObj, (int)sceneType); int GatherTime; if (handled) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600.0) { return(-301); } GatherTime = eventObj.GatherTime; if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.HuanYingSiYuan) { GatherTime = HuanYingSiYuanManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.YongZheZhanChang) { GatherTime = YongZheZhanChangManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.KingOfBattle) { GatherTime = KingOfBattleManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.Comp) { GatherTime = CompManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.KarenEast) { GatherTime = KarenBattleManager_MapEast.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.LingDiCaiJi) { GatherTime = LingDiCaiJiManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { CaiJiLogic.CancelCaiJiState(client); return(GatherTime); } } else if (sceneType == SceneUIClasses.EscapeBattle) { GatherTime = EscapeBattleManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else { if (sceneType == SceneUIClasses.ShuiJingHuanJing) { if (client.ClientData.DailyCrystalCollectNum >= CaiJiLogic.DailyNum) { CaiJiLogic.CancelCaiJiState(client); return(-6); } } if (!GameManager.systemCaiJiMonsterMgr.SystemXmlItemDict.TryGetValue(monster.MonsterInfo.ExtensionID, out CaiJiMonsterXmlItem) || null == CaiJiMonsterXmlItem) { CaiJiLogic.CancelCaiJiState(client); return(-4); } GatherTime = CaiJiMonsterXmlItem.GetIntValue("GatherTime", -1); } GatherTime = GatherTime * CaiJiLogic.GatherTimePer / 100; uint intervalmsec = TimeUtil.timeGetTime() - client.ClientData.CaiJiStartTick; if ((ulong)intervalmsec < (ulong)((long)(GatherTime * 1000))) { CaiJiLogic.CancelCaiJiState(client); LogManager.WriteLog(LogTypes.Error, string.Format("采集读条时间不足intervalmsec={0}", intervalmsec), null, true); result = -5; } else { CaiJiLogic.CancelCaiJiState(client); if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 400.0) { result = -2; } else { lock (monster.CaiJiStateLock) { if (monster.IsCollected) { return(-4); } monster.IsCollected = true; } if (!GlobalEventSource4Scene.getInstance().fireEvent(new CaiJiEventObject(client, monster), (int)sceneType)) { if (sceneType == SceneUIClasses.HuanYingSiYuan) { HuanYingSiYuanManager.getInstance().OnCaiJiFinish(client, monster); } else if (sceneType == SceneUIClasses.LingDiCaiJi) { LingDiCaiJiManager.getInstance().OnCaiJiFinish(client, monster); } else { CaiJiLogic.UpdateCaiJiData(client); CaiJiLogic.NotifyCollectLastNum(client, 0, CaiJiLogic.DailyNum - client.ClientData.DailyCrystalCollectNum); float AwardRate = 1f; int rangeIndex = CaiJiLogic.JugeDateTimeInTimeRange(TimeUtil.NowDateTime(), CaiJiLogic.dateTimeRangeArray, true); if (rangeIndex >= 0) { AwardRate = CaiJiLogic.dateTimeRangeArray[rangeIndex].DoubleAwardRate; } int ExpAward = (int)(AwardRate * (float)CaiJiMonsterXmlItem.GetIntValue("ExpAward", -1)); int XingHunAward = (int)(AwardRate * (float)CaiJiMonsterXmlItem.GetIntValue("XingHunAward", -1)); int BindZuanShiAward = (int)(AwardRate * (float)CaiJiMonsterXmlItem.GetIntValue("BindZuanShiAward", -1)); int BindJinBiAward = (int)(AwardRate * (float)CaiJiMonsterXmlItem.GetIntValue("BindJinBiAward", -1)); int MoJingAward = (int)(AwardRate * (float)CaiJiMonsterXmlItem.GetIntValue("MoJingAward", -1)); if (ExpAward > 0) { GameManager.ClientMgr.ProcessRoleExperience(client, (long)ExpAward, true, true, false, "none"); } if (XingHunAward > 0) { GameManager.ClientMgr.ModifyStarSoulValue(client, XingHunAward, "采集获得星魂", true, true); } if (BindZuanShiAward > 0) { GameManager.ClientMgr.AddUserGold(client, BindZuanShiAward, "采集获得绑钻"); } if (BindJinBiAward > 0) { GameManager.ClientMgr.AddMoney1(client, BindJinBiAward, "采集获得绑金", true); GameManager.ClientMgr.NotifyImportantMsg(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, StringUtil.substitute(GLang.GetLang(28, new object[0]), new object[] { BindJinBiAward }), GameInfoTypeIndexes.Hot, ShowGameInfoTypes.OnlyErr, 0); } if (MoJingAward > 0) { GameManager.ClientMgr.ModifyTianDiJingYuanValue(client, MoJingAward, "采集获得魔晶", true, true, false); } ProcessTask.ProcessAddTaskVal(client, TaskTypes.CaiJi_ShuiJingHuanJing, -1, 1, new object[0]); } } GameManager.MonsterMgr.DeadMonsterImmediately(monster); ProcessTask.Process(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, monster.RoleID, monster.MonsterInfo.ExtensionID, -1, TaskTypes.CaiJiGoods, null, 0, -1L, null); result = 0; } } } } return(result); }
public void OnLeaveScene(GameClient client, SceneUIClasses sceneType, bool logout = false) { if (client.ClientSocket.IsKuaFuLogin) { switch (sceneType) { case SceneUIClasses.HuanYingSiYuan: HuanYingSiYuanManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.TianTi: TianTiManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.YongZheZhanChang: YongZheZhanChangManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.ElementWar: ElementWarManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.MoRiJudge: SingletonTemplate <MoRiJudgeManager> .Instance().OnLogOut(client); goto IL_1E7; case SceneUIClasses.CopyWolf: CopyWolfManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.LangHunLingYu: LangHunLingYuManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.KFZhengBa: SingletonTemplate <ZhengBaManager> .Instance().OnLogout(client); goto IL_1E7; case SceneUIClasses.CoupleArena: SingletonTemplate <CoupleArenaManager> .Instance().OnLeaveFuBen(client); goto IL_1E7; case SceneUIClasses.KingOfBattle: KingOfBattleManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.KarenWest: KarenBattleManager_MapWest.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.KarenEast: KarenBattleManager_MapEast.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.LingDiCaiJi: LingDiCaiJiManager.getInstance().OnLeaveFuBen(client); goto IL_1E7; case SceneUIClasses.BangHuiMatch: BangHuiMatchManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.KuaFuLueDuo: KuaFuLueDuoManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.WanMoXiaGu: WanMoXiaGuManager.getInstance().OnLogout(client); goto IL_1E7; case SceneUIClasses.ZorkBattle: ZorkBattleManager.getInstance().OnLogout(client); goto IL_1E7; } if (SingletonTemplate <CopyTeamManager> .Instance().IsKuaFuCopy(client.ClientData.FuBenID)) { SingletonTemplate <CopyTeamManager> .Instance().OnLeaveFuBen(client, sceneType); } IL_1E7: if (!logout) { this.GotoLastMap(client); } } }
public bool OnInitGame(GameClient client) { int gameType = Global.GetClientKuaFuServerLoginData(client).GameType; bool result; if (KuaFuManager.KuaFuWorldKuaFuGameServer && !KuaFuManager.KuaFuWorldGameTypes.Contains(gameType)) { result = true; } else { switch (gameType) { case 1: return(HuanYingSiYuanManager.getInstance().OnInitGame(client)); case 2: return(TianTiManager.getInstance().OnInitGame(client)); case 3: return(SingletonTemplate <MoRiJudgeManager> .Instance().OnInitGame(client)); case 4: return(ElementWarManager.getInstance().OnInitGame(client)); case 5: return(YongZheZhanChangManager.getInstance().OnInitGame(client)); case 6: return(KuaFuBossManager.getInstance().OnInitGame(client)); case 7: case 32: return(KuaFuMapManager.getInstance().OnInitGame(client)); case 8: return(SingletonTemplate <CopyTeamManager> .Instance().HandleKuaFuInitGame(client)); case 10: return(LangHunLingYuManager.getInstance().OnInitGameKuaFu(client)); case 12: return(SingletonTemplate <ZhengBaManager> .Instance().KuaFuInitGame(client)); case 13: return(SingletonTemplate <CoupleArenaManager> .Instance().KuaFuInitGame(client)); case 15: return(KingOfBattleManager.getInstance().OnInitGame(client)); case 17: return(ZhengDuoManager.getInstance().OnInitGame(client)); case 19: return(KarenBattleManager_MapWest.getInstance().OnInitGame(client)); case 20: return(KarenBattleManager_MapEast.getInstance().OnInitGame(client)); case 22: return(LingDiCaiJiManager.getInstance().KuaFuInitGame(client)); case 24: return(BangHuiMatchManager.getInstance().OnInitGameKuaFu(client)); case 25: return(KuaFuLueDuoManager.getInstance().OnInitGameKuaFu(client)); case 26: return(WanMoXiaGuManager.getInstance().OnInitGame(client)); case 27: case 28: case 29: return(CompManager.getInstance().OnInitGameKuaFu(client)); case 30: return(CompBattleManager.getInstance().OnInitGameKuaFu(client)); case 31: return(CompMineManager.getInstance().OnInitGameKuaFu(client)); case 34: return(TianTi5v5Manager.getInstance().OnInitGame(client)); case 36: return(ZorkBattleManager.getInstance().OnInitGameKuaFu(client)); } EventObjectEx_I1 eventObject = new EventObjectEx_I1(client, 62, gameType); result = (GlobalEventSource4Scene.getInstance().fireEvent(eventObject, 10007) && eventObject.Result); } return(result); }
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 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(); }
/// <summary> /// 重新加载所有程序配置参数文件 /// </summary> /// <param name="xmlFileName"></param> /// <returns></returns> public static void ReloadAllXmlFile() { ReloadXmlFile_config_platconfig(); ReloadXmlFile_config_gifts_activities(); ReloadXmlFile_config_gifts_biggift(); ReloadXmlFile_config_gifts_loginnumgift(); ReloadXmlFile_config_gifts_huodongloginnumgift(); ReloadXmlFile_config_gifts_newrolegift(); ReloadXmlFile_config_gifts_uplevelgift(); ReloadXmlFile_config_gifts_onlietimegift(); ReloadXmlFile_config_mall(); ReloadXmlFile_config_monstergoodslist(); ReloadXmlFile_config_broadcastinfos(); ReloadXmlFile_config_specialtimes(); ReloadXmlFile_config_battle(); ReloadXmlFile_config_ArenaBattle(); ReloadXmlFile_config_popupwin(); ReloadXmlFile_config_npcscripts(); ReloadXmlFile_config_systemoperations(); ReloadXmlFile_config_systemparams(); ReloadXmlFile_config_goodsmergeitems(); ReloadXmlFile_config_qizhengegoods(); ReloadXmlFile_config_npcsalelist(); ReloadXmlFile_config_goods(); ReloadXmlFile_config_goodspack(); ReloadXmlFile_config_systemtasks(); ReloadXmlFile_config_equipupgrade(); ReloadXmlFile_config_dig(); ReloadXmlFile_config_battleexp(); ReloadXmlFile_config_bangzhanawards(); ReloadXmlFile_config_rebirth(); ReloadXmlFile_config_Award(); ReloadXmlFile_config_EquipBorn(); ReloadXmlFile_config_BornName(); ReloadXmlFile_config_gifts_FanLi(); ReloadXmlFile_config_gifts_ChongZhiSong(); ReloadXmlFile_config_gifts_ChongZhiKing(); ReloadXmlFile_config_gifts_LevelKing(); ReloadXmlFile_config_gifts_EquipKing(); ReloadXmlFile_config_gifts_HorseKing(); ReloadXmlFile_config_gifts_JingMaiKing(); ReloadXmlFile_config_gifts_VipDailyAwards(); ReloadXmlFile_config_ActivityTip(); ReloadXmlFile_config_LuckyAward(); ReloadXmlFile_config_Lucky(); ReloadXmlFile_config_ChengJiu(); ReloadXmlFile_config_ChengJiuBuff(); ReloadXmlFile_config_JingMai(); ReloadXmlFile_config_WuXue(); ReloadXmlFile_config_ZuanHuang(); ReloadXmlFile_config_Vip(); ReloadXmlFile_config_QiangGou(); ReloadXmlFile_config_HeFuQiangGou(); ReloadXmlFile_config_JieRiQiangGou(); ReloadXmlFile_config_SystemOpen(); ReloadXmlFile_config_DailyActive(); ReloadXmlFile_config_DailyActiveAward(); ReloadXmlFile_config_gifts_JieRiType(); ReloadXmlFile_config_gifts_JieRiLiBao(); ReloadXmlFile_config_gifts_JieRiDengLu(); ReloadXmlFile_config_gifts_JieRiVip(); ReloadXmlFile_config_gifts_JieRiChongZhiSong(); ReloadXmlFile_config_gifts_JieRiLeiJi(); ReloadXmlFile_config_gifts_JieRiBaoXiang(); ReloadXmlFile_config_gifts_JieRiXiaoFeiKing(); ReloadXmlFile_config_gifts_JieRiChongZhiKing(); ReloadXmlFile_config_gifts_JieRiTotalConsume(); ReloadXmlFile_config_gifts_JieRiMultAward(); ReloadXmlFile_config_bossAI(); ReloadXmlFile_config_TuoZhan(); ReloadXmlFile_config_MoJingAndQiFu(); ReloadXmlFile_config_TotalLoginDataInfo(); // 新服活动 HuodongCachingMgr.ResetXinXiaoFeiKingActivity(); // 重载合服活动配置 HuodongCachingMgr.ResetHeFuActivityConfig(); HuodongCachingMgr.ResetHeFuLoginActivity(); HuodongCachingMgr.ResetHeFuTotalLoginActivity(); HuodongCachingMgr.ResetHeFuRechargeActivity(); HuodongCachingMgr.ResetHeFuPKKingActivity(); HuodongCachingMgr.ResetHeFuAwardTimeActivity(); HuodongCachingMgr.ResetHeFuLuoLanActivity(); // 节日活动配置 HuodongCachingMgr.ResetJieriActivityConfig(); HuodongCachingMgr.ResetJieriDaLiBaoActivity(); HuodongCachingMgr.ResetJieRiDengLuActivity(); HuodongCachingMgr.ResetJieriCZSongActivity(); HuodongCachingMgr.ResetJieRiLeiJiCZActivity(); HuodongCachingMgr.ResetJieRiTotalConsumeActivity(); HuodongCachingMgr.ResetJieRiMultAwardActivity(); HuodongCachingMgr.ResetJieRiZiKaLiaBaoActivity(); HuodongCachingMgr.ResetJieRiXiaoFeiKingActivity(); HuodongCachingMgr.ResetJieRiCZKingActivity(); HuodongCachingMgr.ResetJieriGiveActivity(); HuodongCachingMgr.ResetJieRiGiveKingActivity(); HuodongCachingMgr.ResetJieriRecvKingActivity(); HuodongCachingMgr.ResetJieRiFanLiAwardActivity(); HuodongCachingMgr.ResetJieriLianXuChargeActivity(); HuodongCachingMgr.ResetJieriRecvActivity(); HuodongCachingMgr.ResetJieriPlatChargeKingActivity(); HuodongCachingMgr.ResetFirstChongZhiGift(); HuodongCachingMgr.ResetTotalChargeActivity(); HuodongCachingMgr.ResetTotalConsumeActivity(); HuodongCachingMgr.ResetSeriesLoginItem(); HuodongCachingMgr.ResetEveryDayOnLineAwardItem(); HuodongCachingMgr.ResetJieriIPointsExchangeActivity(); HuodongCachingMgr.ResetJieriFuLiActivity(); if (!UserReturnManager.getInstance().IsUserReturnOpen()) { UserReturnManager.getInstance().initConfigInfo(); } //HuodongCachingMgr.ResetHeFuVIPActivity(); //HuodongCachingMgr.ResetHeFuWCKingActivity(); HuodongCachingMgr.ResetXinFanLiActivity(); HuodongCachingMgr.ResetWeedEndInputActivity(); HuodongCachingMgr.ResetSpecialActivity(); Global.CachingJieriXmlData = null; Global.CachingSpecActXmlData = null; /// 重置补偿的字典 BuChangManager.ResetBuChangItemDict(); // begin [7/24/2013 LiaoWei] //重置获取每日充值 HuodongCachingMgr.ResetMeiRiChongZhiActivity(); // 重置获取冲级豪礼活动的配置项 HuodongCachingMgr.ResetChongJiHaoLiActivity(); // 重置神装激情回馈 HuodongCachingMgr.ResetShenZhuangJiQiHuiKuiHaoLiActivity(); // 重置月度抽奖活动 HuodongCachingMgr.ResetYueDuZhuanPanActivity(); //进入游戏时公告信息 GongGaoDataManager.LoadGongGaoData(); // end [7/24/2013 LiaoWei] //GameManager.systemQianKunMgr.ReloadLoadFromXMlFile(); // 以前的祈福不能用了 [8/28/2014 LiaoWei] GameManager.systemImpetrateByLevelMgr.ReloadLoadFromXMlFile(); QianKunManager.LoadImpetrateItemsInfo(); QianKunManager.LoadImpetrateItemsInfoFree(); QianKunManager.LoadImpetrateItemsInfoHuodong(); GameManager.systemXingYunChouJiangMgr.ReloadLoadFromXMlFile(); GameManager.systemYueDuZhuanPanChouJiangMgr.ReloadLoadFromXMlFile(); Global.LoadSpecialMachineConfig(); ElementhrtsManager.LoadRefineType(); ElementhrtsManager.LoadElementHrtsBase(); ElementhrtsManager.LoadElementHrtsLevelInfo(); ElementhrtsManager.LoadSpecialElementHrtsExp(); // 加载庆功宴配置 GameManager.QingGongYanMgr.LoadQingGongYanConfig(); // 加载精灵召唤配置 CallPetManager.LoadCallPetType(); CallPetManager.LoadCallPetConfig(); CallPetManager.LoadCallPetSystem(); Global.LoadGuWuMaps(); // 加载自动重生地图 [XSea 2015/6/19] Global.LoadAutoReviveMaps(); GameManager.MonsterZoneMgr.LoadAllMonsterXml(); // 加载版本系统开放数据 [XSea 2015/5/4] GameManager.VersionSystemOpenMgr.LoadVersionSystemOpenData(); // 充值配置文件 Global.InitFirstChargeConfigData(); RobotTaskValidator.getInstance().LoadRobotTaskData(); // 梅林魔法书 GameManager.MerlinMagicBookMgr.LoadMerlinConfigData(); // 荧光宝石 [XSea 2015/8/13] GameManager.FluorescentGemMgr.LoadFluorescentGemConfigData(); GetInterestingDataMgr.Instance().LoadConfig(); // 玩家创建角色限制管理 CreateRoleLimitManager.Instance().LoadConfig(); //加载勇者战场配置文件 YongZheZhanChangManager.getInstance().InitConfig(); //加载王者战场配置文件 KingOfBattleManager.getInstance().InitConfig(); //跨服boss配置文件 KuaFuBossManager.getInstance().InitConfig(); //跨服主线地图配置文件 KuaFuMapManager.getInstance().InitConfig(); //初始化配置 FashionManager.getInstance().InitConfig(); // 精灵奇缘 JingLingQiYuanManager.getInstance().InitConfig(); //所有装备强化附加属性 AllThingsCalcItem.InitAllForgeLevelInfo(); TradeBlackManager.Instance().LoadConfig(); Global.LoadLangDict(); LogFilterConfig.InitConfig(); TenRetutnManager.getInstance().InitConfig(); //加载视频聊天室房间数据 VideoLogic.LoadVideoXml(); Data.LoadConfig(); GiftCodeNewManager.getInstance().initGiftCode();//礼包码 }
/// <summary> /// 请求完成采集 /// </summary> public static int ReqFinishCaiJi(GameClient client, int monsterId) { //判断玩家当前状态能否采集 if (monsterId != client.ClientData.CaijTargetId || client.ClientData.CaiJiStartTick == 0 || client.ClientData.CaijTargetId == 0) { //取消采集状态 CaiJiLogic.CancelCaiJiState(client); return(-3); } //死亡时不能采集 if (client.ClientData.CurrentLifeV <= 0) { //取消采集状态 CaiJiLogic.CancelCaiJiState(client); return(-3); } //判断采集物是否存在 Monster monster = GameManager.MonsterMgr.FindMonster(client.ClientData.MapCode, monsterId); if (null == monster) //找不到采集物 { //取消采集状态 CaiJiLogic.CancelCaiJiState(client); return(-1); } //判断是不是采集物 if (monster.MonsterType != (int)MonsterTypes.CaiJi) //不是采集物 { //取消采集状态 CaiJiLogic.CancelCaiJiState(client); return(-4); } SystemXmlItem CaiJiMonsterXmlItem = null; int GatherTime = int.MaxValue; //采集条件判断 SceneUIClasses sceneType = Global.GetMapSceneType(client.ClientData.MapCode); if (sceneType == SceneUIClasses.HuanYingSiYuan) { //幻影寺院采集圣杯 GatherTime = HuanYingSiYuanManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.YongZheZhanChang) { // 勇者战场 水晶 GatherTime = YongZheZhanChangManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else if (sceneType == SceneUIClasses.KingOfBattle) { // 王者战场 水晶 GatherTime = KingOfBattleManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(-4); } } else { //水晶环境采集水晶 if (client.ClientData.DailyCrystalCollectNum >= DailyNum) { CaiJiLogic.CancelCaiJiState(client); return(-6); //已经达到次数上限 } //====Monsters=== //if (!GameManager.systemCaiJiMonsterMgr.SystemXmlItemDict.TryGetValue(monster.MonsterInfo.ExtensionID, out CaiJiMonsterXmlItem) || null == CaiJiMonsterXmlItem) //{ // //取消采集状态 // CaiJiLogic.CancelCaiJiState(client); // return -4; //传来的monsterID不对 //} //读条时间 GatherTime = CaiJiMonsterXmlItem.GetIntValue("GatherTime"); // 针对服务器时间漂移问题,对结束采集的读条时间进行缩短处理 GatherTime = GatherTime * GatherTimePer / 100; } //读条时间不对不能采集 uint intervalmsec = TimeUtil.timeGetTime() - client.ClientData.CaiJiStartTick; if (intervalmsec < GatherTime * 1000) { //取消采集状态 CaiJiLogic.CancelCaiJiState(client); LogManager.WriteLog(LogTypes.Error, string.Format("采集读条时间不足intervalmsec={0}", intervalmsec)); return(-5); } CaiJiLogic.CancelCaiJiState(client); //判断玩家与采集物的距离 if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 400) //判断距离 { return(-2); //太远了 } lock (monster.CaiJiStateLock) { if (monster.IsCollected) { return(-4); //已经被别人采了 } else { monster.IsCollected = true; } } //采集完成 bool handled = GlobalEventSource4Scene.getInstance().fireEvent(new CaiJiEventObject(client, monster), (int)sceneType); if (!handled) { if (sceneType == SceneUIClasses.HuanYingSiYuan) { //幻影寺院采集圣杯 HuanYingSiYuanManager.getInstance().OnCaiJiFinish(client, monster); } else { //水晶环境采集水晶 //增加采集次数 UpdateCaiJiData(client); //通知客户端采集次数 NotifyCollectLastNum(client, 0, DailyNum - client.ClientData.DailyCrystalCollectNum); //给予采集奖励 float AwardRate = 1.0f; //判断是否有双倍 int rangeIndex = JugeDateTimeInTimeRange(TimeUtil.NowDateTime(), dateTimeRangeArray); if (rangeIndex >= 0) { AwardRate = dateTimeRangeArray[rangeIndex].DoubleAwardRate; } int ExpAward = (int)(AwardRate * CaiJiMonsterXmlItem.GetIntValue("ExpAward")); int XingHunAward = (int)(AwardRate * CaiJiMonsterXmlItem.GetIntValue("XingHunAward")); int BindZuanShiAward = (int)(AwardRate * CaiJiMonsterXmlItem.GetIntValue("BindZuanShiAward")); int BindJinBiAward = (int)(AwardRate * CaiJiMonsterXmlItem.GetIntValue("BindJinBiAward")); int MoJingAward = (int)(AwardRate * CaiJiMonsterXmlItem.GetIntValue("MoJingAward")); if (ExpAward > 0) { //处理角色经验 GameManager.ClientMgr.ProcessRoleExperience(client, ExpAward, true, true); } if (XingHunAward > 0) { GameManager.ClientMgr.ModifyStarSoulValue(client, XingHunAward, "采集获得星魂", true, true); } if (BindZuanShiAward > 0) { GameManager.ClientMgr.AddUserGold(client, BindZuanShiAward, "采集获得绑钻"); } if (BindJinBiAward > 0) { GameManager.ClientMgr.AddMoney1(client, BindJinBiAward, "采集获得绑金", true); GameManager.ClientMgr.NotifyImportantMsg(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, StringUtil.substitute(Global.GetLang("获得绑定金币 +{0}"), BindJinBiAward), GameInfoTypeIndexes.Hot, ShowGameInfoTypes.OnlyErr, (int)HintErrCodeTypes.None); } if (MoJingAward > 0) { GameManager.ClientMgr.ModifyTianDiJingYuanValue(client, MoJingAward, "采集获得魔晶", true); } /* * Monster monster = GameManager.MonsterMgr.FindMonster(client.ClientData.MapCode, caiJiRoleID); * if (null != monster && monster.MonsterType == (int)MonsterTypes.CaiJi) * { * //首先判断背包是否已经满了,如果是则提示用户采集失败 * if (monster.MonsterInfo.FallGoodsPackID <= 0) * { * if (!Global.CanAddGoodsNum(client, 1)) * { * GameManager.ClientMgr.NotifyImportantMsg(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, * client, StringUtil.substitute(Global.GetLang("背包已满,无法将进行采集")), * GameInfoTypeIndexes.Error, ShowGameInfoTypes.ErrAndBox); * } * } * * //杀死怪物并处理任务 * Global.SystemKillMonster(client, monster); * } */ } } //清除采集物 GameManager.MonsterMgr.DeadMonsterImmediately(monster); return(0); //采集完成 }
/// <summary> /// 请求开始采集 /// </summary> public static int ReqStartCaiJi(GameClient client, int monsterId, out int GatherTime) { GatherTime = 0; CaiJiLogic.CancelCaiJiState(client); //判断玩家当前状态能否采集 //死亡时不能采集 if (client.ClientData.CurrentLifeV <= 0) { //取消采集状态 CaiJiLogic.CancelCaiJiState(client); return(-3); } //判断采集物是否存在 Monster monster = GameManager.MonsterMgr.FindMonster(client.ClientData.MapCode, monsterId); if (null == monster) //找不到采集物 { return(-1); } //判断是不是采集物 if (monster.MonsterType != (int)MonsterTypes.CaiJi) //不是采集物 { return(-4); } if (monster.IsCollected) { return(-4); //已经被采集过了 } SceneUIClasses sceneType = Global.GetMapSceneType(client.ClientData.MapCode); if (sceneType == SceneUIClasses.HuanYingSiYuan) { //判断玩家与采集物的距离 if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600) //判断距离 { return(StdErrorCode.Error_Too_Far); } //幻影寺院采集圣杯 GatherTime = HuanYingSiYuanManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.YongZheZhanChang) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600) { return(StdErrorCode.Error_Too_Far); } GatherTime = YongZheZhanChangManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else if (sceneType == SceneUIClasses.KingOfBattle) { if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 600) { return(StdErrorCode.Error_Too_Far); } GatherTime = KingOfBattleManager.getInstance().GetCaiJiMonsterTime(client, monster); if (GatherTime < 0) { return(GatherTime); } } else { //判断玩家与采集物的距离 if (Global.GetTwoPointDistance(client.CurrentPos, monster.CurrentPos) > 400) //判断距离 { return(StdErrorCode.Error_Too_Far); } //水晶环境采集水晶 //====Monsters=== //SystemXmlItem CaiJiMonsterXmlItem = null; //if (!GameManager.systemCaiJiMonsterMgr.SystemXmlItemDict.TryGetValue(monster.MonsterInfo.ExtensionID, out CaiJiMonsterXmlItem) || null == CaiJiMonsterXmlItem) //{ // return -4; //传来的monsterID不对 //} //GatherTime = CaiJiMonsterXmlItem.GetIntValue("GatherTime"); //刷新活动中与采集相关的信息 if (client.ClientData.DailyCrystalCollectNum >= DailyNum) { return(-5); //已经达到次数上限 } } //结束冥想 Global.EndMeditate(client); //设置玩家的采集状态 SetCaiJiState(client, monsterId); return(0); //采集开始 }