public static ReturnValue <ZhanDuiZhengBaSyncData> SyncZhengBaData(ZhanDuiZhengBaSyncData lastSyncData) { AutoWaitReturnValue <KfCall._p24> _wait_ = AutoWaitReturnValue <KfCall._p24> .Pop(); try { AutoCSer.Net.TcpInternalServer.ClientSocketSender _socket_ = KfCall.TcpClient.Sender; if (_socket_ != null) { KfCall._p23 _inputParameter_ = new KfCall._p23 { p0 = lastSyncData }; KfCall._p24 _outputParameter_ = default(KfCall._p24); ReturnType _returnType_ = _socket_.WaitGet <KfCall._p23, KfCall._p24>(TcpCall.ZhanDuiZhengBa_K._c16, ref _wait_, ref _inputParameter_, ref _outputParameter_); return(new ReturnValue <ZhanDuiZhengBaSyncData> { Type = _returnType_, Value = _outputParameter_.Return }); } } finally { if (_wait_ != null) { AutoWaitReturnValue <KfCall._p24> .PushNotNull(_wait_); } } return(new ReturnValue <ZhanDuiZhengBaSyncData> { Type = ReturnType.ClientException }); }
public static ZhanDuiZhengBaSyncData SyncZhengBaData(ZhanDuiZhengBaSyncData lastSyncData) { ZhanDuiZhengBaSyncData result = new ZhanDuiZhengBaSyncData(); lock (ZhanDuiZhengBa_K.Mutex) { result.Month = ZhanDuiZhengBa_K.SyncData.Month; result.RealActID = ZhanDuiZhengBa_K.SyncData.RealActID; result.RoleModTime = ZhanDuiZhengBa_K.SyncData.RoleModTime; result.HasSeasonEnd = ZhanDuiZhengBa_K.SyncData.HasSeasonEnd; result.IsThisMonthInActivity = ZhanDuiZhengBa_K.SyncData.IsThisMonthInActivity; result.CenterTime = TimeUtil.NowDateTime(); result.TopZhanDui = ZhanDuiZhengBa_K.SyncData.TopZhanDui; if (result.RoleModTime > lastSyncData.RoleModTime && ZhanDuiZhengBa_K.SyncData.ZhanDuiList != null) { result.ZhanDuiList = new List <ZhanDuiZhengBaZhanDuiData>(ZhanDuiZhengBa_K.SyncData.ZhanDuiList); } result.PKLogModTime = ZhanDuiZhengBa_K.SyncData.PKLogModTime; if (result.PKLogModTime > lastSyncData.PKLogModTime && ZhanDuiZhengBa_K.SyncData.PKLogList != null) { result.PKLogList = new List <ZhanDuiZhengBaPkLogData>(ZhanDuiZhengBa_K.SyncData.PKLogList); } } return(result); }
public static void LoadSyncData(DateTime now, bool reload = false) { int selectRoleIfNewCreate = 64; lock (ZhanDuiZhengBa_K.Mutex) { ZhanDuiZhengBaSyncData syncData = ZhanDuiZhengBa_K.Persistence.LoadZhengBaSyncData(now, selectRoleIfNewCreate); ZhanDuiZhengBa_K.SyncData = syncData; ZhanDuiZhengBa_K.FixSyncData(now); } }
public static ZhanDuiZhengBaSyncData _M16(ZhanDuiZhengBaSyncData lastSyncData) { return(ZhanDuiZhengBa_K.SyncZhengBaData(lastSyncData)); }
public ZhanDuiZhengBaSyncData LoadZhengBaSyncData(DateTime now, int selectRoleIfNewCreate) { ZhanDuiZhengBaSyncData syncData = new ZhanDuiZhengBaSyncData(); syncData.Month = ZhengBaUtils.MakeMonth(now); syncData.IsThisMonthInActivity = false; List <ZhanDuiZhengBaZhanDuiData> rankList = new List <ZhanDuiZhengBaZhanDuiData>(); List <ZhanDuiZhengBaZhanDuiData> zhanDuiList = new List <ZhanDuiZhengBaZhanDuiData>(); List <ZhanDuiZhengBaPkLogData> pkLogList = new List <ZhanDuiZhengBaPkLogData>(); if (KuaFuServerManager.IsGongNengOpened(113)) { TianTi5v5RankData rankData = TianTi5v5Service.ZhanDuiGetRankingData(DateTime.MinValue); bool bMonthFirst = this.CheckZhengBaRank(selectRoleIfNewCreate, syncData.Month); if (bMonthFirst) { syncData.IsThisMonthInActivity = true; } else if (syncData.Month == ZhengBaUtils.MakeMonth(rankData.ModifyTime) && rankData.MonthPaiHangList.Count > ZhanDuiZhengBaConsts.MinZhanDuiNum) { syncData.IsThisMonthInActivity = true; int[] groupArray = MathEx.MatchGroupBinary(64); int i = 0; while (i < 64 && i < rankData.MonthPaiHangList.Count) { int group = Array.IndexOf <int>(groupArray, i + 1) + 1; TianTi5v5ZhanDuiData data = rankData.MonthPaiHangList[i]; ZhanDuiZhengBaZhanDuiData zhandui = new ZhanDuiZhengBaZhanDuiData { ZhanDuiName = data.ZhanDuiName, ZhanDuiID = data.ZhanDuiID, ZhanLi = (long)((int)data.ZhanDouLi), DuanWeiId = data.DuanWeiId, DuanWeiRank = data.DuanWeiRank, ZoneId = data.ZoneID, MemberList = new List <RoleOccuNameZhanLi>(), Group = group }; foreach (TianTi5v5ZhanDuiRoleData a in data.teamerList) { if (a.RoleID == data.LeaderRoleID) { zhandui.MemberList.Insert(0, new RoleOccuNameZhanLi { RoleName = a.RoleName, Occupation = a.RoleOcc, ZhanLi = a.ZhanLi }); } else { zhandui.MemberList.Add(new RoleOccuNameZhanLi { RoleName = a.RoleName, Occupation = a.RoleOcc, ZhanLi = a.ZhanLi }); } } rankList.Add(zhandui); i++; } if (!this.BuildZhengBaRank(syncData.Month, rankList)) { LogManager.WriteLog(LogTypes.Fatal, "生成并写入战队争霸64强数据失败!", null, true); syncData.IsThisMonthInActivity = false; } } if (syncData.IsThisMonthInActivity) { zhanDuiList = this.LoadZhengBaRankData(syncData.Month); pkLogList = this.LoadPkLogList(syncData.Month); } } syncData.ZhanDuiList = zhanDuiList; syncData.PKLogList = pkLogList; syncData.RoleModTime = now; return(syncData); }