/// <summary> /// 保存城池数据 /// </summary> /// <param name="cityDataEx"></param> public void SaveCityData(LangHunLingYuCityDataEx cityDataEx) { ExecuteSqlNoQuery(string.Format("INSERT INTO t_lhly_city(cityid,citylevel,owner,attacker1,attacker2,attacker3)" + " VALUES({0},{1},{2},{3},{4},{5})" + " ON DUPLICATE KEY UPDATE citylevel={1},owner={2},attacker1={3},attacker2={4},attacker3={5};" , cityDataEx.CityId, cityDataEx.CityLevel, cityDataEx.Site[0], cityDataEx.Site[1], cityDataEx.Site[2], cityDataEx.Site[3])); }
/// <summary> /// 加载城池数据 /// </summary> /// <param name="list"></param> /// <returns></returns> public bool LoadCityDataExList(List <LangHunLingYuCityDataEx> list) { MySqlDataReader sdr = null; string strSql; try { strSql = string.Format("SELECT * FROM `t_lhly_city`;"); sdr = DbHelperMySQL.ExecuteReader(strSql); for (int index = 1; sdr.Read(); index++) { LangHunLingYuCityDataEx data = new LangHunLingYuCityDataEx(); data.CityId = Convert.ToInt32(sdr["cityid"]); data.CityLevel = Convert.ToInt32(sdr["citylevel"]); data.Site[0] = Convert.ToInt32(sdr["owner"].ToString()); data.Site[1] = Convert.ToInt32(sdr["attacker1"].ToString()); data.Site[2] = Convert.ToInt32(sdr["attacker2"].ToString()); data.Site[3] = Convert.ToInt32(sdr["attacker3"].ToString()); list.Add(data); } return(true); } catch (System.Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } finally { if (null != sdr) { sdr.Close(); } } return(false); }
public void EventCallBackHandler(int eventType, params object[] args) { try { switch (eventType) { case (int)KuaFuEventTypes.RoleSignUp: case (int)KuaFuEventTypes.RoleStateChange: { if (args.Length == 1) { KuaFuRoleData kuaFuRoleData = args[0] as KuaFuRoleData; if (null != kuaFuRoleData) { UpdateRoleData(kuaFuRoleData, kuaFuRoleData.RoleId); } } } break; case (int)KuaFuEventTypes.UpdateAndNotifyEnterGame: { if (args.Length == 1) { KuaFuRoleData kuaFuRoleData = args[0] as KuaFuRoleData; if (null != kuaFuRoleData) { UpdateRoleData(kuaFuRoleData, kuaFuRoleData.RoleId); YongZheZhanChangFuBenData fuBenData = GetKuaFuFuBenData(kuaFuRoleData.GameId); if (null != fuBenData && fuBenData.State == GameFuBenState.Start) { KuaFuServerLoginData kuaFuServerLoginData = new KuaFuServerLoginData() { RoleId = kuaFuRoleData.RoleId, GameType = kuaFuRoleData.GameType, GameId = kuaFuRoleData.GameId, EndTicks = kuaFuRoleData.StateEndTicks, }; kuaFuServerLoginData.ServerId = ClientInfo.ServerId; lock (Mutex) { KuaFuServerInfo kuaFuServerInfo; if (ServerIdServerInfoDict.TryGetValue(fuBenData.ServerId, out kuaFuServerInfo)) { kuaFuServerLoginData.ServerIp = kuaFuServerInfo.Ip; kuaFuServerLoginData.ServerPort = kuaFuServerInfo.Port; } } switch ((GameTypes)kuaFuRoleData.GameType) { case GameTypes.YongZheZhanChang: CoreInterface.GetEventSourceInterface().fireEvent(new KuaFuNotifyEnterGameEvent(kuaFuServerLoginData), (int)SceneUIClasses.YongZheZhanChang); break; case GameTypes.KuaFuBoss: CoreInterface.GetEventSourceInterface().fireEvent(new KuaFuNotifyEnterGameEvent(kuaFuServerLoginData), (int)SceneUIClasses.KuaFuBoss); break; case GameTypes.KingOfBattle: CoreInterface.GetEventSourceInterface().fireEvent(new KuaFuNotifyEnterGameEvent(kuaFuServerLoginData), (int)SceneUIClasses.KingOfBattle); break; } } } } } break; case (int)KuaFuEventTypes.UpdateLhlyBhData: { if (args.Length == 1) { LangHunLingYuBangHuiDataEx data = args[0] as LangHunLingYuBangHuiDataEx; CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyBangHuiDataGameEvent(data), (int)SceneUIClasses.LangHunLingYu); } } break; case (int)KuaFuEventTypes.UpdateLhlyCityData: { if (args.Length == 1) { LangHunLingYuCityDataEx data = args[0] as LangHunLingYuCityDataEx; CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyCityDataGameEvent(data), (int)SceneUIClasses.LangHunLingYu); } } break; case (int)KuaFuEventTypes.UpdateLhlyOtherCityList: { if (args.Length == 1) { Dictionary <int, List <int> > data = args[0] as Dictionary <int, List <int> >; CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyOtherCityListGameEvent(data), (int)SceneUIClasses.LangHunLingYu); } } break; case (int)KuaFuEventTypes.UpdateLhlyCityOwnerList: { if (args.Length == 1) { List <LangHunLingYuKingHist> data = args[0] as List <LangHunLingYuKingHist>; CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyCityOwnerHistGameEvent(data), (int)SceneUIClasses.LangHunLingYu); } } break; case (int)KuaFuEventTypes.UpdateLhlyCityOwnerAdmire: { if (args.Length == 2) { int rid = (int)args[0]; int admirecount = (int)args[1]; CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyCityOwnerAdmireGameEvent(rid, admirecount), (int)SceneUIClasses.LangHunLingYu); } } break; } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } }
public void EventCallBackHandler(AsyncDataItem item) { try { int eventType = (int)item.EventType; object[] args = item.Args; int num = eventType; switch (num) { case 0: case 1: if (args.Length == 1) { KuaFuRoleData kuaFuRoleData = args[0] as KuaFuRoleData; if (null != kuaFuRoleData) { this.UpdateRoleData(kuaFuRoleData, kuaFuRoleData.RoleId); } } break; case 2: case 4: case 5: break; case 3: if (args.Length == 1) { KuaFuRoleData kuaFuRoleData = args[0] as KuaFuRoleData; if (null != kuaFuRoleData) { this.UpdateRoleData(kuaFuRoleData, kuaFuRoleData.RoleId); YongZheZhanChangFuBenData fuBenData = this.GetKuaFuFuBenData(kuaFuRoleData.GameId); if (fuBenData != null && fuBenData.State == GameFuBenState.Start) { KuaFuServerLoginData kuaFuServerLoginData = new KuaFuServerLoginData { RoleId = kuaFuRoleData.RoleId, GameType = kuaFuRoleData.GameType, GameId = (long)kuaFuRoleData.GameId, EndTicks = kuaFuRoleData.StateEndTicks }; kuaFuServerLoginData.ServerId = this.ClientInfo.ServerId; KuaFuServerInfo kuaFuServerInfo; if (KuaFuManager.getInstance().TryGetValue(fuBenData.ServerId, out kuaFuServerInfo)) { kuaFuServerLoginData.ServerIp = kuaFuServerInfo.Ip; kuaFuServerLoginData.ServerPort = kuaFuServerInfo.Port; } GameTypes gameType = (GameTypes)kuaFuRoleData.GameType; switch (gameType) { case GameTypes.YongZheZhanChang: this.CoreInterface.GetEventSourceInterface().fireEvent(new KuaFuNotifyEnterGameEvent(kuaFuServerLoginData), 27); break; case GameTypes.KuaFuBoss: this.CoreInterface.GetEventSourceInterface().fireEvent(new KuaFuNotifyEnterGameEvent(kuaFuServerLoginData), 31); break; default: if (gameType == GameTypes.KingOfBattle) { this.CoreInterface.GetEventSourceInterface().fireEvent(new KuaFuNotifyEnterGameEvent(kuaFuServerLoginData), 39); } break; } } } } break; case 6: if (args.Length == 1) { LangHunLingYuBangHuiDataEx data = args[0] as LangHunLingYuBangHuiDataEx; this.CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyBangHuiDataGameEvent(data), 35); } break; case 7: if (args.Length == 1) { LangHunLingYuCityDataEx data2 = args[0] as LangHunLingYuCityDataEx; this.CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyCityDataGameEvent(data2), 35); } break; case 8: if (args.Length == 1) { Dictionary <int, List <int> > data3 = args[0] as Dictionary <int, List <int> >; this.CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyOtherCityListGameEvent(data3), 35); } break; case 9: if (args.Length == 1) { List <LangHunLingYuKingHist> data4 = args[0] as List <LangHunLingYuKingHist>; this.CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyCityOwnerHistGameEvent(data4), 35); } break; case 10: if (args.Length == 2) { int rid = (int)args[0]; int admirecount = (int)args[1]; this.CoreInterface.GetEventSourceInterface().fireEvent(new NotifyLhlyCityOwnerAdmireGameEvent(rid, admirecount), 35); } break; default: if (num == 9997) { if (GMCommands.EnableGMSetAllServerTime && item.Args.Length == 4) { string[] a = new string[item.Args.Length]; for (int i = 0; i < a.Length; i++) { a[i] = (item.Args[i] as string); if (string.IsNullOrEmpty(a[i])) { return; } } if (a[0] == "-settime") { GMCommands.GMSetTime(null, a, false); } } } break; } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } }