private bool LoadBHMatchBHData_Join(BangHuiMatchType type, int seasonID, List <BHMatchBHData> BHMatchBHDataList_Join, bool lastSeason = false) { bool result; if (null == BHMatchBHDataList_Join) { result = false; } else { BHMatchBHDataList_Join.Clear(); try { KuaFuData <BHMatchBHData> bhData = null; string strSql = string.Format("SELECT * FROM t_banghui_match_bh_season WHERE `type`={0} AND `season`={1}", (int)type, seasonID); if (type == BangHuiMatchType.BHMT_Begin) { strSql += string.Format(" ORDER BY `group` ASC", new object[0]); } MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { int bhid = Convert.ToInt32(sdr["bhid"]); if (type == BangHuiMatchType.BHMT_Begin && this.BHMatchBHDataDict_Gold.TryGetValue(bhid, out bhData)) { TimeUtil.AgeByNow(ref bhData.Age); if (!lastSeason) { bhData.V.cur_win = Convert.ToInt32(sdr["win"]); bhData.V.group = Convert.ToInt32(sdr["group"]); bhData.V.cur_score = 0; } BHMatchBHDataList_Join.Add(bhData.V); } if (type == BangHuiMatchType.Rookie && this.BHMatchBHDataDict_Rookie.TryGetValue(bhid, out bhData)) { TimeUtil.AgeByNow(ref bhData.Age); if (!lastSeason) { bhData.V.cur_win = Convert.ToInt32(sdr["win"]); bhData.V.group = 0; bhData.V.cur_score = Convert.ToInt32(sdr["score"]); } BHMatchBHDataList_Join.Add(bhData.V); } } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
public void OnJunTuanDestroy(int juntuanId) { if (!this.InRankAwardTime()) { lock (this.Mutex) { KuaFuData <KFEraData> data = null; if (this.EraDataDict.TryGetValue(juntuanId, out data)) { bool reloadRank = false; foreach (KFEraRankData item in this.EraRankList.V) { if (item.JunTuanID == juntuanId) { reloadRank = true; } } this.ClearEraData(this.RuntimeData.CurrentEraID, juntuanId); this.EraDataDict.Remove(juntuanId); if (reloadRank) { this.LoadEraRankData(); } } } } }
public KuaFuCmdData GetRebornRoleData(int ptId, int roleId, long dataAge) { try { lock (this.Mutex) { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (!this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptId, roleId), out kfRebornRoleData)) { return(null); } if (dataAge != kfRebornRoleData.Age) { return(new KuaFuCmdData { Age = kfRebornRoleData.Age, Bytes0 = DataHelper2.ObjectToBytes <KFRebornRoleData>(kfRebornRoleData.V) }); } return(new KuaFuCmdData { Age = kfRebornRoleData.Age }); } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } return(null); }
public int RoleReborn(int ptId, int roleId, string roleName, int level) { int ret = 0; try { KeyValuePair <int, int> key = new KeyValuePair <int, int>(ptId, roleId); KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (!this.RebornRoleDataDict.TryGetValue(key, out kfRebornRoleData)) { kfRebornRoleData = new KuaFuData <KFRebornRoleData>(); kfRebornRoleData.V.PtID = ptId; kfRebornRoleData.V.RoleID = roleId; kfRebornRoleData.V.RoleName = roleName; kfRebornRoleData.V.Lev = level; this.RebornRoleDataDict[key] = kfRebornRoleData; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.InsertRebornRoleData(kfRebornRoleData.V); } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } return(ret); }
private bool LoadBHMatchBHData_LastSeason(BangHuiMatchType type, int seasonID) { try { KuaFuData <BHMatchBHData> bhData = null; string strSql = string.Format("SELECT * FROM t_banghui_match_bh_season where `type`={0} and `season`={1}", (int)type, seasonID); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { int bhid = Convert.ToInt32(sdr["bhid"]); if (type == BangHuiMatchType.BHMT_Begin && this.BHMatchBHDataDict_Gold.TryGetValue(bhid, out bhData)) { TimeUtil.AgeByNow(ref bhData.Age); bhData.V.last_win = Convert.ToInt32(sdr["win"]); bhData.V.last_score = 0; } if (type == BangHuiMatchType.Rookie && this.BHMatchBHDataDict_Rookie.TryGetValue(bhid, out bhData)) { TimeUtil.AgeByNow(ref bhData.Age); bhData.V.last_win = Convert.ToInt32(sdr["win"]); bhData.V.last_score = Convert.ToInt32(sdr["score"]); } } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } return(true); }
public bool ReloadRankInfo(int rankType, KuaFuData <Dictionary <int, List <KFZorkRankInfo> > > ZorkBattleRankInfoDict) { bool ret = true; List <KFZorkRankInfo> rankList = new List <KFZorkRankInfo>(); if (!ZorkBattleRankInfoDict.V.TryGetValue(rankType, out rankList)) { rankList = (ZorkBattleRankInfoDict.V[rankType] = new List <KFZorkRankInfo>()); } else { rankList.Clear(); } try { if (rankType == 0) { TianTi5v5Service.CalZorkBattleRankTeamJiFen(rankList); } else { ret = this.Persistence.LoadZorkBattleRankInfo(rankType, rankList); } TimeUtil.AgeByNow(ref ZorkBattleRankInfoDict.Age); } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } return(ret); }
public KuaFuCmdData GetEraData(int juntuanid, long dataAge) { KuaFuCmdData result; lock (this.Mutex) { if (0 == this.RuntimeData.CurrentEraID) { result = null; } else { KuaFuData <KFEraData> data = null; if (juntuanid == 0 && 0L == dataAge) { data = new KuaFuData <KFEraData>(); data.V.EraID = this.RuntimeData.CurrentEraID; TimeUtil.AgeByNow(ref data.Age); } else { if (!this.EraDataDict.TryGetValue(juntuanid, out data)) { data = new KuaFuData <KFEraData>(); data.V.EraID = this.RuntimeData.CurrentEraID; data.V.JunTuanID = juntuanid; data.V.EraStage = 1; TimeUtil.AgeByNow(ref data.Age); this.EraDataDict[juntuanid] = data; } if (data.V.FastEraStage != this.RuntimeData.CurFastEraStage || data.V.FastEraStateProcess != this.RuntimeData.CurFastEraStateProcess) { TimeUtil.AgeByNow(ref data.Age); } } data.V.FastEraStage = this.RuntimeData.CurFastEraStage; data.V.FastEraStateProcess = this.RuntimeData.CurFastEraStateProcess; if (dataAge != data.Age) { result = new KuaFuCmdData { Age = data.Age, Bytes0 = DataHelper2.ObjectToBytes <KFEraData>(data.V) }; } else { result = new KuaFuCmdData { Age = data.Age }; } } } return(result); }
private bool LoadKuaFuLueDuoBHData(Dictionary <int, KuaFuData <KuaFuLueDuoBHData> > KuaFuLueDuoBHDataDict, int minSeason) { try { long sAge = TimeUtil.AgeByNow(); string strSql = string.Format("SELECT * FROM t_kfld_banghui where `season`>={0}", minSeason); using (MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false)) { while (sdr != null && sdr.Read()) { KuaFuData <KuaFuLueDuoBHData> bhData = new KuaFuData <KuaFuLueDuoBHData>(); bhData.V.season = Convert.ToInt32(sdr["season"]); bhData.V.bhid = Convert.ToInt32(sdr["bhid"]); bhData.V.bhname = (sdr["bhname"] as string); bhData.V.zoneid = Convert.ToInt32(sdr["zoneid"]); bhData.V.sum_ziyuan = Convert.ToInt32(sdr["sum_ziyuan"]); bhData.V.last_ziyuan = Convert.ToInt32(sdr["last"]); bhData.Age = sAge; KuaFuLueDuoBHDataDict[bhData.V.bhid] = bhData; int zoneid = bhData.V.zoneid; if (bhData.V.sum_ziyuan > 0 && zoneid > 0 && zoneid < this.ZoneID2ServerIDs.Length) { KuaFuLueDuoServerInfo data; if (this.ServerInfoDict.TryGetValue(this.ZoneID2ServerIDs[zoneid], out data)) { string name = KuaFuServerManager.FormatName(bhData.V.bhname, bhData.V.zoneid); data.MingXingList.Add(new KuaFuLueDuoRankInfo { Key = bhData.V.bhid, Param1 = name, Value = bhData.V.sum_ziyuan }); } } } } foreach (KuaFuLueDuoServerInfo data in this.ServerInfoDict.Values) { string mingxing = KuaFuLueDuoUtils.RankList2MingXingStr(data.MingXingList, 2); if (mingxing != data.MingXingZhanMengList) { data.MingXingZhanMengList = mingxing; string sql = string.Format("update t_kfld_server set `mingxing`='{1}' where `serverid`={0}", data.ServerId, mingxing); this.ExecuteSqlNoQuery(sql); } } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } return(true); }
private bool LoadCompData(KuaFuData <Dictionary <int, KFCompData> > CompDataDict) { bool result; if (null == CompDataDict) { result = false; } else { try { string strSql = string.Format("SELECT * FROM `t_comp`", new object[0]); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { KFCompData myCompData = new KFCompData(); myCompData.InitPlunderResList(); myCompData.CompType = Convert.ToInt32(sdr["type"]); myCompData.BoomValue = Convert.ToInt32(sdr["boomval"]); myCompData.YestdBoomValue = Convert.ToInt32(sdr["boomval_yestd"]); myCompData.EnemyCompType = Convert.ToInt32(sdr["enemytype"]); myCompData.EnemyCompTypeSet = Convert.ToInt32(sdr["enemyset"]); myCompData.Bulletin = sdr["bulletin"].ToString(); myCompData.Crystal = Convert.ToInt32(sdr["crystal"]); myCompData.BossDamageTop = Convert.ToInt32(sdr["bossdamage"]); myCompData.Boss = Convert.ToInt32(sdr["boss"]); myCompData.YestdCrystal = Convert.ToInt32(sdr["crystal_yestd"]); myCompData.YestdBoss = Convert.ToInt32(sdr["boss_yestd"]); myCompData.ParsePlunderResListString(sdr["plunderres"].ToString(), myCompData.PlunderResList); myCompData.ParsePlunderResListString(sdr["plunderres_yestd"].ToString(), myCompData.YestdPlunderResList); myCompData.ParseStrongholdDictString(sdr["stronghold"].ToString(), myCompData.StrongholdDict); myCompData.BossKillCompType = Convert.ToInt32(sdr["bosskilltype"]); myCompData.YestdBossKillCompType = Convert.ToInt32(sdr["bosskilltype_yestd"]); myCompData.MineRes = Convert.ToInt32(sdr["mine"]); myCompData.MineRank = Convert.ToInt32(sdr["mine_rank"]); CompDataDict.V[myCompData.CompType] = myCompData; } TimeUtil.AgeByNow(ref CompDataDict.Age); if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
private bool LoadCompRoleData(Dictionary <int, KuaFuData <KFCompRoleData> > CompRoleDataDict) { bool result; if (null == CompRoleDataDict) { result = false; } else { try { string strSql = string.Format("SELECT * FROM `t_comp_roles`", new object[0]); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { KuaFuData <KFCompRoleData> myData = new KuaFuData <KFCompRoleData>(); myData.V.RoleID = Convert.ToInt32(sdr["rid"]); myData.V.ZoneID = Convert.ToInt32(sdr["zoneid"]); myData.V.CompType = Convert.ToInt32(sdr["type"]); myData.V.CompTypeLast = Convert.ToInt32(sdr["type_last"]); myData.V.JunXian = Convert.ToInt32(sdr["junxian"]); myData.V.JunXianLast = Convert.ToInt32(sdr["junxian_last"]); myData.V.RoleName = Convert.ToString(sdr["rname"]); myData.V.BattleJiFen = Convert.ToInt32(sdr["battlejifen"]); myData.V.CompTypeBattle = Convert.ToInt32(sdr["type_battle"]); myData.V.CompTypeMine = Convert.ToInt32(sdr["type_mine"]); myData.V.MineJiFen = Convert.ToInt32(sdr["minejifen"]); string strRankTm = sdr["ranktm_bjf"].ToString(); if (!string.IsNullOrEmpty(strRankTm)) { DateTime.TryParse(strRankTm, out myData.V.RankTmBJF); } strRankTm = sdr["ranktm_mjf"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmMJF); CompRoleDataDict[myData.V.RoleID] = myData; TimeUtil.AgeByNow(ref myData.Age); } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
private bool LoadBHMatchPKInfoList(BangHuiMatchType type, KuaFuData <List <BangHuiMatchPKInfo> > BHMatchPKInfoList_Gold) { bool result; if (null == BHMatchPKInfoList_Gold) { result = false; } else { BHMatchPKInfoList_Gold.V.Clear(); try { KuaFuData <BHMatchBHData> bhData = null; string strSql = string.Format("SELECT * FROM t_banghui_match_pk_log WHERE `type`={0} ORDER BY `season` DESC, `round` DESC LIMIT {1}", (int)type, 80); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { BangHuiMatchPKInfo pkInfo = new BangHuiMatchPKInfo(); pkInfo.type = Convert.ToByte(sdr["type"]); pkInfo.season = Convert.ToInt32(sdr["season"]); pkInfo.round = Convert.ToByte(sdr["round"]); pkInfo.bhid1 = Convert.ToInt32(sdr["bhid1"]); pkInfo.bhid2 = Convert.ToInt32(sdr["bhid2"]); pkInfo.result = Convert.ToByte(sdr["result"]); pkInfo.zoneid1 = Convert.ToInt32(sdr["zoneid1"]); pkInfo.zoneid2 = Convert.ToInt32(sdr["zoneid2"]); if (this.BHMatchBHDataDict_Gold.TryGetValue(pkInfo.bhid1, out bhData)) { pkInfo.bhname1 = KuaFuServerManager.FormatName(bhData.V.zoneid_bh, bhData.V.bhname); } if (this.BHMatchBHDataDict_Gold.TryGetValue(pkInfo.bhid2, out bhData)) { pkInfo.bhname2 = KuaFuServerManager.FormatName(bhData.V.zoneid_bh, bhData.V.bhname); } BHMatchPKInfoList_Gold.V.Add(pkInfo); } TimeUtil.AgeByNow(ref BHMatchPKInfoList_Gold.Age); if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
public void SetRoleData4Selector(int ptId, int roleId, byte[] bytes) { lock (this.Mutex) { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptId, roleId), out kfRebornRoleData)) { kfRebornRoleData.V.RoleData4Selector = bytes; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleData4Selector(kfRebornRoleData.V); } } }
public KFRebornRoleData Reborn_GetRebornRoleData(int ptId, int roleId) { try { IKuaFuWorld kuaFuService = this.GetKuaFuService(false); if (null == kuaFuService) { return(null); } try { lock (this.Mutex) { KeyValuePair <int, int> key = new KeyValuePair <int, int>(ptId, roleId); KuaFuData <KFRebornRoleData> RebornRoleData = null; if (!this.RebornRoleDataDict.TryGetValue(key, out RebornRoleData)) { RebornRoleData = new KuaFuData <KFRebornRoleData>(); this.RebornRoleDataDict[key] = RebornRoleData; } KuaFuCmdData result = kuaFuService.Reborn_GetRebornRoleData(ptId, roleId, RebornRoleData.Age); if (result == null || result.Age < 0L) { return(null); } if (result != null && result.Age > RebornRoleData.Age) { RebornRoleData.Age = result.Age; if (null != result.Bytes0) { RebornRoleData.V = DataHelper2.BytesToObject <KFRebornRoleData>(result.Bytes0, 0, result.Bytes0.Length); } if (null != RebornRoleData.V) { this.RebornRoleDataDict[key] = RebornRoleData; } } return(RebornRoleData.V); } } catch (Exception ex) { this.ResetKuaFuService(); } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } return(null); }
private bool LoadBHMatchBHData(BangHuiMatchType type, Dictionary <int, KuaFuData <BHMatchBHData> > BHMatchBHDataDict) { bool result; if (null == BHMatchBHDataDict) { result = false; } else { BHMatchBHDataDict.Clear(); try { string strSql = string.Format("SELECT * FROM t_banghui_match_bh where `type`={0}", (int)type); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { KuaFuData <BHMatchBHData> bhData = new KuaFuData <BHMatchBHData>(); bhData.V.type = (int)type; bhData.V.bhid = Convert.ToInt32(sdr["bhid"]); bhData.V.bhname = (sdr["bhname"] as string); bhData.V.zoneid_bh = Convert.ToInt32(sdr["zoneid_bh"]); bhData.V.rid = Convert.ToInt32(sdr["rid"]); bhData.V.rname = (sdr["rname"] as string); bhData.V.zoneid_r = Convert.ToInt32(sdr["zoneid_r"]); bhData.V.hist_play = Convert.ToInt32(sdr["play"]); bhData.V.hist_champion = Convert.ToInt32(sdr["champion"]); bhData.V.hist_bullshit = Convert.ToInt32(sdr["bullshit"]); bhData.V.best_record = Convert.ToInt32(sdr["bestrecord"]); string strGetWin = string.Format("select sum(win) totalwin from t_banghui_match_bh_season where `type`={0} and bhid={1}", (int)type, bhData.V.bhid); bhData.V.hist_win = Convert.ToInt32(DbHelperMySQL.GetSingle(strGetWin)); string strGetScore = string.Format("select sum(score) totalscore from t_banghui_match_bh_season where `type`={0} and bhid={1}", (int)type, bhData.V.bhid); bhData.V.hist_score = Convert.ToInt32(DbHelperMySQL.GetSingle(strGetScore)); bhData.V.hist_kill = Convert.ToInt32(sdr["kill"]); TimeUtil.AgeByNow(ref bhData.Age); BHMatchBHDataDict[bhData.V.bhid] = bhData; } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
public KuaFuLueDuoBHData GetBHDataByBhid_KuaFuLueDuo(int bhid) { IKuaFuService kuaFuService = this.GetKuaFuService(false); if (null != kuaFuService) { try { lock (this.Mutex) { KuaFuData <KuaFuLueDuoBHData> bhdata = null; if (!this.KuaFuLueDuoBHDataDict.TryGetValue(bhid, out bhdata)) { bhdata = new KuaFuData <KuaFuLueDuoBHData>(); this.KuaFuLueDuoBHDataDict[bhid] = bhdata; } KuaFuCmdData result = kuaFuService.GetBHDataByBhid_KuaFuLueDuo(bhid, bhdata.Age); if (result == null || result.Age < 0L) { return(null); } if (result != null && result.Age > bhdata.Age) { bhdata.Age = result.Age; if (null != result.Bytes0) { bhdata.V = DataHelper2.BytesToObject <KuaFuLueDuoBHData>(result.Bytes0, 0, result.Bytes0.Length); } if (null != bhdata.V) { this.KuaFuLueDuoBHDataDict[bhid] = bhdata; } } return(bhdata.V); } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } } return(null); }
public void ChangeName(int ptId, int roleId, string roleName) { try { lock (this.Mutex) { KeyValuePair <int, int> key = new KeyValuePair <int, int>(ptId, roleId); KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(key, out kfRebornRoleData)) { kfRebornRoleData.V.RoleName = roleName; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleDataRoleName(kfRebornRoleData.V); bool refreshRank = false; foreach (KeyValuePair <int, List <KFRebornRankInfo> > kvp in this.RebornRankDict.V) { KFRebornRankInfo item = kvp.Value.Find((KFRebornRankInfo x) => x.PtID == ptId && x.Key == roleId); if (null != item) { string worldRoleID = ConstData.FormatWorldRoleID(roleId, ptId); KuaFuWorldRoleData worldRoleData = TSingleton <KuaFuWorldManager> .getInstance().LoadKuaFuWorldRoleData(roleId, ptId, worldRoleID); if (null != worldRoleData) { item.Param1 = KuaFuServerManager.FormatName(item.tagInfo.V.RoleName, worldRoleData.ZoneID); refreshRank = true; } } } if (refreshRank) { TimeUtil.AgeByNow(ref this.RebornRankDict.Age); } } } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } }
private void LoadEraData() { MySqlDataReader sdr = null; try { string strSql = string.Format("SELECT * FROM t_juntuan_era WHERE `eraid`={0};", this.RuntimeData.CurrentEraID); sdr = DbHelperMySQL.ExecuteReader(strSql, false); this.EraDataDict.Clear(); int index = 1; while (sdr != null && sdr.Read()) { KuaFuData <KFEraData> data = new KuaFuData <KFEraData>(); data.V.EraID = Convert.ToInt32(sdr["eraid"].ToString()); data.V.JunTuanID = Convert.ToInt32(sdr["juntuanid"].ToString()); data.V.EraStage = Convert.ToByte(sdr["stage"].ToString()); data.V.EraStageProcess = Convert.ToInt32(sdr["process"].ToString()); data.V.EraTaskList = this.LoadEraTaskList(data.V.JunTuanID); data.V.ParseEraTimePointsData(sdr["tmpoints"].ToString()); TimeUtil.AgeByNow(ref data.Age); this.EraDataDict[data.V.JunTuanID] = data; this.HandleFastEraStage(data.V); index++; } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } finally { if (null != sdr) { sdr.Close(); } } }
public void RebornOpt(int ptid, int rid, int optType, int param1, int param2, string param3) { try { lock (this.Mutex) { switch (optType) { case 0: { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptid, rid), out kfRebornRoleData)) { kfRebornRoleData.V.Lev = param1; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleData(kfRebornRoleData.V, 1, true); } break; } case 1: { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptid, rid), out kfRebornRoleData)) { kfRebornRoleData.V.Rarity += param1; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleData(kfRebornRoleData.V, 2, true); } break; } case 2: { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptid, rid), out kfRebornRoleData)) { kfRebornRoleData.V.Boss += param1; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleData(kfRebornRoleData.V, 8, true); } break; } case 3: { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptid, rid), out kfRebornRoleData)) { if (param1 > kfRebornRoleData.V.LianSha) { kfRebornRoleData.V.LianSha = param1; TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleData(kfRebornRoleData.V, 32, true); } } break; } case 4: { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptid, rid), out kfRebornRoleData)) { KFRebornBossAwardData myData = new KFRebornBossAwardData(); myData.MapCodeID = param1; myData.LineID = param2; string[] fields = param3.Split(new char[] { ',' }); if (fields.Length == 2) { myData.ExtensionID = Global.SafeConvertToInt32(fields[0]); myData.RankNum = Global.SafeConvertToInt32(fields[1]); } KFRebornBossAwardData awardData = kfRebornRoleData.V.BossAwardList.Find((KFRebornBossAwardData x) => x.MapCodeID == myData.MapCodeID && x.LineID == myData.LineID); if (null != awardData) { awardData.MapCodeID = myData.MapCodeID; awardData.LineID = myData.LineID; awardData.ExtensionID = myData.ExtensionID; awardData.RankNum = myData.RankNum; } else { kfRebornRoleData.V.BossAwardList.Add(myData); } TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleDataBossAward(kfRebornRoleData.V); } break; } case 5: { KuaFuData <KFRebornRoleData> kfRebornRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(ptid, rid), out kfRebornRoleData)) { kfRebornRoleData.V.BossAwardList.RemoveAll((KFRebornBossAwardData x) => x.MapCodeID == param1 && x.LineID == param2 && x.ExtensionID == Global.SafeConvertToInt32(param3)); TimeUtil.AgeByNow(ref kfRebornRoleData.Age); this.Persistence.UpdateRebornRoleDataBossAward(kfRebornRoleData.V); } break; } case 6: { KeyValuePair <int, int> key = new KeyValuePair <int, int>(param1, param2); KFRebornBossRefreshData myData2; if (!this.BossRefreshDict.V.TryGetValue(key, out myData2)) { myData2 = new KFRebornBossRefreshData(); this.BossRefreshDict.V[key] = myData2; } myData2.MapCodeID = param1; myData2.LineID = param2; string[] fields = param3.Split(new char[] { ',' }); if (fields.Length == 2) { myData2.ExtensionID = Global.SafeConvertToInt32(fields[0]); myData2.NextTime = fields[1]; } TimeUtil.AgeByNow(ref this.BossRefreshDict.Age); break; } } } } catch (Exception ex) { LogManager.WriteException(ex.ToString()); } }
private bool LoadBHMatchRankInfo(int rankType, int seasonCur, int seasonLast, KuaFuData <Dictionary <int, List <BangHuiMatchRankInfo> > > BHMatchRankInfoDict) { bool result; if (null == BHMatchRankInfoDict) { result = false; } else { List <BangHuiMatchRankInfo> rankList = null; if (!BHMatchRankInfoDict.V.TryGetValue(rankType, out rankList)) { rankList = (BHMatchRankInfoDict.V[rankType] = new List <BangHuiMatchRankInfo>()); } else { rankList.Clear(); } try { string strSql = this.FormatLoadBHMatchRankSql(rankType, seasonCur, seasonLast); if (string.IsNullOrEmpty(strSql)) { return(false); } MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { BangHuiMatchRankInfo rankInfo = new BangHuiMatchRankInfo(); rankInfo.Key = Convert.ToInt32(sdr["a"]); rankInfo.Value = Convert.ToInt32(sdr["b"]); switch (rankType) { case 4: case 6: case 10: case 12: { string strParam = string.Format("SELECT zoneid,rname FROM t_banghui_match_roles WHERE `type`={0} AND rid={1};", 1, rankInfo.Key); object[] arr; if (DbHelperMySQL.GetSingleValues(strParam, out arr) >= 0) { rankInfo.Param1 = KuaFuServerManager.FormatName(Convert.ToInt32(arr[0]), arr[1].ToString()); } string strParam2 = string.Format("SELECT zoneid_bh,bhname FROM t_banghui_match_bh, \r\n (SELECT bhid FROM t_banghui_match_roles WHERE `type`={0} AND rid={1}) a1 WHERE t_banghui_match_bh.bhid = a1.bhid;", 1, rankInfo.Key); if (DbHelperMySQL.GetSingleValues(strParam2, out arr) >= 0) { rankInfo.Param2 = KuaFuServerManager.FormatName(Convert.ToInt32(arr[0]), arr[1].ToString()); } rankList.Add(rankInfo); break; } case 5: case 7: case 11: case 13: { string strParam = string.Format("SELECT zoneid,rname FROM t_banghui_match_roles WHERE `type`={0} AND rid={1};", 2, rankInfo.Key); rankInfo.Param1 = Convert.ToString(DbHelperMySQL.GetSingle(strParam)); object[] arr; if (DbHelperMySQL.GetSingleValues(strParam, out arr) >= 0) { rankInfo.Param1 = KuaFuServerManager.FormatName(Convert.ToInt32(arr[0]), arr[1].ToString()); } string strParam2 = string.Format("SELECT zoneid_bh,bhname FROM t_banghui_match_bh, \r\n (SELECT bhid FROM t_banghui_match_roles WHERE `type`={0} AND rid={1}) a1 WHERE t_banghui_match_bh.bhid = a1.bhid;", 2, rankInfo.Key); if (DbHelperMySQL.GetSingleValues(strParam2, out arr) >= 0) { rankInfo.Param2 = KuaFuServerManager.FormatName(Convert.ToInt32(arr[0]), arr[1].ToString()); } rankList.Add(rankInfo); break; } case 8: case 9: goto IL_24B; default: goto IL_24B; } continue; IL_24B: KuaFuData <BHMatchBHData> bhData = null; if (this.BHMatchBHDataDict_Gold.TryGetValue(rankInfo.Key, out bhData)) { rankInfo.Param1 = KuaFuServerManager.FormatName(bhData.V.zoneid_bh, bhData.V.bhname); rankInfo.Param2 = KuaFuServerManager.FormatName(bhData.V.zoneid_r, bhData.V.rname); rankList.Add(rankInfo); } else if (this.BHMatchBHDataDict_Rookie.TryGetValue(rankInfo.Key, out bhData)) { rankInfo.Param1 = KuaFuServerManager.FormatName(bhData.V.zoneid_bh, bhData.V.bhname); rankInfo.Param2 = KuaFuServerManager.FormatName(bhData.V.zoneid_r, bhData.V.rname); rankList.Add(rankInfo); } } TimeUtil.AgeByNow(ref BHMatchRankInfoDict.Age); if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
private bool LoadRebornRoleData(Dictionary <KeyValuePair <int, int>, KuaFuData <KFRebornRoleData> > RebornRoleDataDict) { bool result; if (null == RebornRoleDataDict) { result = false; } else { try { string strSql = string.Format("SELECT * FROM `t_reborn_roles`", new object[0]); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { KuaFuData <KFRebornRoleData> myData = new KuaFuData <KFRebornRoleData>(); myData.V.PtID = Convert.ToInt32(sdr["ptid"]); myData.V.RoleID = Convert.ToInt32(sdr["rid"]); myData.V.Lev = Convert.ToInt32(sdr["lev"]); myData.V.Rarity = Convert.ToInt32(sdr["rarity"]); myData.V.RarityLast = Convert.ToInt32(sdr["rarity_last"]); myData.V.Boss = Convert.ToInt32(sdr["boss"]); myData.V.BossLast = Convert.ToInt32(sdr["boss_last"]); myData.V.LianSha = Convert.ToInt32(sdr["liansha"]); myData.V.LianShaLast = Convert.ToInt32(sdr["liansha_last"]); myData.V.ParseBossAwardListString(Convert.ToString(sdr["boss_award"]), myData.V.BossAwardList); myData.V.RoleName = Convert.ToString(sdr["rname"]); string strRankTm = sdr["ranktm_lev"].ToString(); if (!string.IsNullOrEmpty(strRankTm)) { DateTime.TryParse(strRankTm, out myData.V.RankTmLev); } strRankTm = sdr["ranktm_r"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmR); strRankTm = sdr["ranktm_rl"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmRL); strRankTm = sdr["ranktm_b"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmB); strRankTm = sdr["ranktm_bl"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmBL); strRankTm = sdr["ranktm_ls"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmLS); strRankTm = sdr["ranktm_lsl"].ToString(); DateTime.TryParse(strRankTm, out myData.V.RankTmLSL); RebornRoleDataDict[new KeyValuePair <int, int>(myData.V.PtID, myData.V.RoleID)] = myData; myData.V.RoleData4Selector = (sdr["data1"] as byte[]); TimeUtil.AgeByNow(ref myData.Age); } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
private bool LoadKuaFuLueDuoBHData_Join(int season, Dictionary <int, KuaFuLueDuoServerJingJiaState> JingJiaDict) { try { KuaFuData <KuaFuLueDuoBHData> bhData = null; string strSql = string.Format("SELECT * FROM t_kfld_banghui_season WHERE `season`={0}", season); MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { int bhid = Convert.ToInt32(sdr["bhid"]); if (this.KuaFuLueDuoBHDataDict.TryGetValue(bhid, out bhData)) { int sid = Convert.ToInt32(sdr["jingjia_sid"]); int jingjia = Convert.ToInt32(sdr["jingjia"]); int last_jingjia = Convert.ToInt32(sdr["last_jingjia"]); int group = Convert.ToInt32(sdr["group"]); string bhname = sdr["bhname"] as string; int zoneid = Convert.ToInt32(sdr["zoneid"]); bhData.V.jingjia = jingjia; bhData.V.jingjia_sid = sid; bhData.V.last_jingjia = last_jingjia; bhData.V.group = group; if (sid > 0) { KuaFuLueDuoServerJingJiaState jjData; if (!JingJiaDict.TryGetValue(bhData.V.jingjia_sid, out jjData)) { jjData = new KuaFuLueDuoServerJingJiaState { ServerId = sid, JingJiaList = new List <KuaFuLueDuoBangHuiJingJiaData>() }; JingJiaDict[bhData.V.jingjia_sid] = jjData; } KuaFuLueDuoBangHuiJingJiaData jjbhData = jjData.JingJiaList.Find((KuaFuLueDuoBangHuiJingJiaData x) => x.BhId == bhid); if (jjbhData == null) { jjbhData = new KuaFuLueDuoBangHuiJingJiaData { BhId = bhid, BhName = bhname, ZoneId = zoneid, ServerId = sid, ZiJin = jingjia }; jjData.JingJiaList.Add(jjbhData); } else { jjbhData.ZiJin = jingjia; } } } } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } return(true); }
public bool LoadCompRankInfo(int rankType, int compType, KuaFuData <Dictionary <int, List <KFCompRankInfo> > > CompRankDict, KuaFuData <List <KFCompRankInfo> > CompRankList) { bool result; if (CompRankDict == null && null == CompRankList) { result = false; } else { List <KFCompRankInfo> rankList = null; if (null != CompRankDict) { if (!CompRankDict.V.TryGetValue(compType, out rankList)) { rankList = (CompRankDict.V[compType] = new List <KFCompRankInfo>()); } else { rankList.Clear(); } } else { rankList = CompRankList.V; rankList.Clear(); } try { string strSql = this.FormatLoadCompRankSql(rankType, compType); if (string.IsNullOrEmpty(strSql)) { return(false); } if (rankType == 3) { for (int i = 1; i <= 3; i++) { rankList.Add(new KFCompRankInfo()); } } MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { KFCompRankInfo rankInfo = new KFCompRankInfo(); rankInfo.Key = Convert.ToInt32(sdr["a"]); rankInfo.Value = Convert.ToInt32(sdr["b"]); if (rankType == 3) { rankList[rankInfo.Key - 1] = rankInfo; } else { KuaFuData <KFCompRoleData> kfRoleData = null; if (this.CompRoleDataDict.TryGetValue(rankInfo.Key, out kfRoleData)) { rankInfo.Param1 = KuaFuServerManager.FormatName(kfRoleData.V.RoleName, kfRoleData.V.ZoneID); rankInfo.tagInfo = kfRoleData; } rankList.Add(rankInfo); } } if (null != CompRankDict) { TimeUtil.AgeByNow(ref CompRankDict.Age); } if (null != CompRankList) { TimeUtil.AgeByNow(ref CompRankList.Age); } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
public bool EraDonate(int juntuanid, int taskid, int var1, int var2, int var3) { bool result; lock (this.Mutex) { if (0 == this.RuntimeData.CurrentEraID) { result = false; } else { KuaFuData <KFEraData> data = null; if (!this.EraDataDict.TryGetValue(juntuanid, out data)) { result = false; } else { EraTaskConfig taskConfig = null; lock (this.RuntimeData.Mutex) { if (!this.RuntimeData.EraTaskConfigDict.TryGetValue(taskid, out taskConfig)) { return(false); } } if (taskConfig.EraID != this.RuntimeData.CurrentEraID) { result = false; } else { EraTaskData taskData = data.V.EraTaskList.Find((EraTaskData x) => x.TaskID == taskid); if (null == taskData) { taskData = new EraTaskData(); taskData.TaskID = taskid; data.V.EraTaskList.Add(taskData); } if (this.CheckTaskComplete(taskData, taskConfig)) { result = true; } else { for (int dataidx = 0; dataidx < taskConfig.CompletionCondition.Count; dataidx++) { int conditionNum = taskConfig.CompletionCondition[dataidx].Value; switch (dataidx) { case 0: taskData.TaskVal1 = Math.Min(taskData.TaskVal1 + var1, conditionNum); break; case 1: taskData.TaskVal2 = Math.Min(taskData.TaskVal2 + var2, conditionNum); break; case 2: taskData.TaskVal3 = Math.Min(taskData.TaskVal3 + var3, conditionNum); break; } } if (this.CheckTaskComplete(taskData, taskConfig)) { if (this.HandleAddEraProcess(data, taskConfig)) { this.SaveEraData(data.V, true); } } else { this.SaveEraData(data.V, false); } this.SaveEraTaskData(juntuanid, taskData); TimeUtil.AgeByNow(ref data.Age); result = true; } } } } } return(result); }
public bool LoadRebornRankInfo(int rankType, KuaFuData <Dictionary <int, List <KFRebornRankInfo> > > RebornRankDict) { bool result; if (null == RebornRankDict) { result = false; } else { List <KFRebornRankInfo> rankList = null; if (!RebornRankDict.V.TryGetValue(rankType, out rankList)) { rankList = (RebornRankDict.V[rankType] = new List <KFRebornRankInfo>()); } else { rankList.Clear(); } try { string strSql = this.FormatLoadRebornRankSql(rankType); if (string.IsNullOrEmpty(strSql)) { return(false); } MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false); while (sdr != null && sdr.Read()) { KFRebornRankInfo rankInfo = new KFRebornRankInfo(); rankInfo.Key = Convert.ToInt32(sdr["a"]); rankInfo.Value = Convert.ToInt32(sdr["b"]); rankInfo.PtID = Convert.ToInt32(sdr["c"]); KuaFuData <KFRebornRoleData> kfRoleData = null; if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(rankInfo.PtID, rankInfo.Key), out kfRoleData)) { string worldRoleID = ConstData.FormatWorldRoleID(rankInfo.Key, rankInfo.PtID); KuaFuWorldRoleData worldRoleData = TSingleton <KuaFuWorldManager> .getInstance().LoadKuaFuWorldRoleData(rankInfo.Key, rankInfo.PtID, worldRoleID); if (null != worldRoleData) { int KFZoneID = ConstData.ConvertToKuaFuServerID(worldRoleData.ZoneID, worldRoleData.PTID); rankInfo.Param1 = KuaFuServerManager.FormatName(kfRoleData.V.RoleName, KFZoneID); rankInfo.Param2 = worldRoleData.Channel; rankInfo.UserID = worldRoleData.UserID; rankInfo.tagInfo = kfRoleData; } } rankList.Add(rankInfo); } if (null != RebornRankDict) { TimeUtil.AgeByNow(ref RebornRankDict.Age); } if (sdr != null) { sdr.Close(); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); return(false); } result = true; } return(result); }
private bool HandleAddEraProcess(KuaFuData <KFEraData> data, EraTaskConfig taskConfig) { bool result; if (taskConfig.EraStage != (int)data.V.EraStage) { result = false; } else { int oldEraStageProcess = data.V.EraStageProcess; int oldEraStage = (int)data.V.EraStage; data.V.EraStageProcess = Math.Min(data.V.EraStageProcess + taskConfig.Reward, 100); if (data.V.EraStageProcess == 100 && data.V.EraStage < 4) { data.V.EraStage = (byte)Math.Min((int)(data.V.EraStage + 1), 4); data.V.EraStageProcess = 0; AsyncDataItem evItem = new AsyncDataItem(KuaFuEventTypes.JunTuanEraStage, new object[] { data.V.JunTuanID }); ClientAgentManager.Instance().BroadCastAsyncEvent(GameTypes.JunTuan, evItem, 0); data.V.EraTimePointList.Add(TimeUtil.NowDateTime()); } if (data.V.EraStageProcess == oldEraStageProcess && (int)data.V.EraStage == oldEraStage) { result = false; } else { if (data.V.EraStageProcess == 100 && data.V.EraStage == 4) { data.V.EraTimePointList.Add(TimeUtil.NowDateTime()); } this.HandleFastEraStage(data.V); bool needSort = false; KFEraRankData rankData = this.EraRankList.V.Find((KFEraRankData x) => x.JunTuanID == data.V.JunTuanID); if (null != rankData) { needSort = true; rankData.JunTuanID = data.V.JunTuanID; rankData.EraStage = data.V.EraStage; rankData.EraStageProcess = data.V.EraStageProcess; rankData.RankTime = TimeUtil.NowDateTime(); } else if (this.EraRankList.V.Count < 5) { needSort = true; rankData = new KFEraRankData(); rankData.JunTuanID = data.V.JunTuanID; rankData.EraStage = data.V.EraStage; rankData.EraStageProcess = data.V.EraStageProcess; rankData.RankTime = TimeUtil.NowDateTime(); this.EraRankList.V.Add(rankData); } else { KFEraRankData minRankData = this.EraRankList.V[this.EraRankList.V.Count - 1]; if (data.V.EraStage > minRankData.EraStage || (data.V.EraStage == minRankData.EraStage && data.V.EraStageProcess > minRankData.EraStageProcess)) { needSort = true; minRankData.JunTuanID = data.V.JunTuanID; minRankData.EraStage = data.V.EraStage; minRankData.EraStageProcess = data.V.EraStageProcess; minRankData.RankTime = TimeUtil.NowDateTime(); } } if (needSort) { this.EraRankList.V.Sort(delegate(KFEraRankData left, KFEraRankData right) { int result2; if (left.EraStage > right.EraStage) { result2 = -1; } else if (left.EraStage < right.EraStage) { result2 = 1; } else if (left.EraStageProcess > right.EraStageProcess) { result2 = -1; } else if (left.EraStageProcess < right.EraStageProcess) { result2 = 1; } else if (left.RankTime < right.RankTime) { result2 = -1; } else if (left.RankTime > right.RankTime) { result2 = 1; } else { result2 = 0; } return(result2); }); for (int loop = 0; loop < this.EraRankList.V.Count; loop++) { this.EraRankList.V[loop].RankValue = loop + 1; } TimeUtil.AgeByNow(ref this.EraRankList.Age); } result = true; } } return(result); }