示例#1
0
 public AsyncDataItem GetHongBaoDataList(long dataAge)
 {
     try
     {
         if (this.TotalCharge > 0L)
         {
             DateTime now      = TimeUtil.NowDateTime();
             long     nowTicks = TimeUtil.NOW();
             if (now >= this.StartTime && now < this.EndTime)
             {
                 lock (this.Mutex)
                 {
                     byte[]       bytes   = DataHelper2.ObjectToBytes <Dictionary <int, SystemHongBaoData> >(this.HongBaoDataDict);
                     KuaFuCmdData cmdData = new KuaFuCmdData
                     {
                         Age    = nowTicks,
                         Bytes0 = bytes
                     };
                     return(new AsyncDataItem(KuaFuEventTypes.ChongZhiHongBaoList, new object[]
                     {
                         cmdData
                     }));
                 }
             }
         }
     }
     catch (Exception ex)
     {
     }
     return(null);
 }
示例#2
0
        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);
        }
 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);
 }
示例#4
0
        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);
        }
示例#5
0
        public KuaFuCmdData GetEraRankData(long dataAge)
        {
            KuaFuCmdData result;

            lock (this.Mutex)
            {
                if (dataAge != this.EraRankList.Age)
                {
                    result = new KuaFuCmdData
                    {
                        Age    = this.EraRankList.Age,
                        Bytes0 = DataHelper2.ObjectToBytes <List <KFEraRankData> >(this.EraRankList.V)
                    };
                }
                else
                {
                    result = new KuaFuCmdData
                    {
                        Age = this.EraRankList.Age
                    };
                }
            }
            return(result);
        }