Beispiel #1
0
            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
                });
            }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
 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);
        }