Exemple #1
0
        /// <summary>
        /// 精英副本挑战次数
        /// </summary>
        /// <param name="plotNPCInfo"></param>
        private void EliteDailyRestrain(PlotNPCInfo plotNPCInfo)
        {
            UserDailyRestrain userRestrain = new GameDataCacheSet <UserDailyRestrain>().FindKey(Uid);

            if (userRestrain == null)
            {
                userRestrain = new UserDailyRestrain()
                {
                    UserID = Uid, FunPlot = new CacheList <FunPlot>()
                };
            }

            int     plotNum = 0;
            FunPlot funPlot = null;

            if (userRestrain.FunPlot.Count > 0)
            {
                funPlot = userRestrain.FunPlot.Find(m => m.PlotID == plotNPCInfo.PlotID);
            }
            if (funPlot == null)
            {
                plotNum = 1;
            }
            else
            {
                plotNum = MathUtils.Addition(funPlot.Num, 1, int.MaxValue);
                userRestrain.FunPlot.Remove(funPlot);
            }
            funPlot = new FunPlot
            {
                PlotID = plotNPCInfo.PlotID,
                Num    = plotNum
            };
            userRestrain.FunPlot.Add(funPlot);
        }
        /// <summary>
        /// 清空多人副本次数
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="plotID"></param>
        public static void RemoveDailyMorePlot(string userID, FunctionEnum activeType)
        {
            UserDailyRestrain dailyRestrain = new PersonalCacheStruct <UserDailyRestrain>().FindKey(userID);

            if (dailyRestrain != null && dailyRestrain.UserExtend != null)
            {
                if (dailyRestrain.UserExtend.MorePlot != null && dailyRestrain.UserExtend.MorePlot.Count > 0)
                {
                    FunPlot funPlots = dailyRestrain.UserExtend.MorePlot[0];
                    if (funPlots != null)
                    {
                        DateTime endDate = funPlots.MoreDate.AddHours(1).ToString("yyyy-MM-dd HH:00:00").ToDateTime();
                        if (endDate < DateTime.Now && DateTime.Now > MorePlotEndDate(userID, activeType))
                        {
                            dailyRestrain.UserExtend.UpdateNotify(obj =>
                            {
                                if (dailyRestrain.UserExtend.MorePlot == null)
                                {
                                    dailyRestrain.UserExtend.MorePlot = new CacheList <FunPlot>();
                                }
                                dailyRestrain.UserExtend.MorePlot.Clear();
                                return(true);
                            });
                        }
                    }
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// 天地劫挑战次数
        /// </summary>
        /// <param name="plotNPCInfo"></param>
        private void KalpaDailyRestrain(PlotNPCInfo plotNPCInfo)
        {
            UserDailyRestrain userRestrain = new GameDataCacheSet <UserDailyRestrain>().FindKey(Uid);

            if (userRestrain == null)
            {
                userRestrain = new UserDailyRestrain()
                {
                    UserID = Uid, FunPlot = new CacheList <FunPlot>()
                };
            }
            if (userRestrain.UserExtend == null)
            {
                userRestrain.UserExtend           = new DailyUserExtend();
                userRestrain.UserExtend.KalpaPlot = new CacheList <FunPlot>();
            }
            int     plotNum = 0;
            FunPlot funPlot = userRestrain.UserExtend.KalpaPlot.Find(m => m.PlotID == plotNPCInfo.PlotID);

            if (funPlot == null)
            {
                plotNum = 1;
            }
            else
            {
                plotNum = MathUtils.Addition(funPlot.Num, 1, int.MaxValue);
                userRestrain.UserExtend.UpdateNotify(obj =>
                {
                    userRestrain.UserExtend.KalpaPlot.Remove(funPlot);
                    return(true);
                });
            }
            funPlot = new FunPlot
            {
                PlotID = plotNPCInfo.PlotID,
                Num    = plotNum
            };
            userRestrain.UserExtend.UpdateNotify(obj =>
            {
                userRestrain.UserExtend.KalpaPlot.Add(funPlot);
                return(true);
            });
        }
        /// <summary>
        /// 多人副本获胜加一次
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="plotID"></param>
        public static void DailyMorePlotRestrainNum(string userID, int plotID)
        {
            UserDailyRestrain dailyRestrain = new PersonalCacheStruct <UserDailyRestrain>().FindKey(userID);

            if (dailyRestrain != null && dailyRestrain.UserExtend != null)
            {
                FunPlot plot = new FunPlot();
                plot.PlotID   = plotID;
                plot.Num      = 1;
                plot.MoreDate = DateTime.Now;

                dailyRestrain.UserExtend.UpdateNotify(obj =>
                {
                    if (dailyRestrain.UserExtend.MorePlot == null)
                    {
                        dailyRestrain.UserExtend.MorePlot = new CacheList <FunPlot>();
                    }
                    dailyRestrain.UserExtend.MorePlot.Add(plot);
                    return(true);
                });
                //dailyRestrain.Update();
            }
        }
Exemple #5
0
        /// <summary>
        /// 天地劫挑战次数
        /// </summary>
        /// <param name="plotNPCInfo"></param>
        private void KalpaDailyRestrain(PlotNPCInfo plotNPCInfo)
        {
            var cacheSet = new GameDataCacheSet <UserDailyRestrain>();
            UserDailyRestrain userRestrain = cacheSet.FindKey(Uid);

            if (userRestrain == null)
            {
                userRestrain = new UserDailyRestrain()
                {
                    UserID = Uid
                };
                cacheSet.Add(userRestrain, GameEnvironment.CacheUserPeriod);
                userRestrain = cacheSet.FindKey(Uid);
            }
            if (userRestrain.UserExtend == null)
            {
                userRestrain.UserExtend = new DailyUserExtend();
                //userRestrain.UserExtend.KalpaPlot = new List<FunPlot>();
            }
            int     plotNum = 0;
            FunPlot funPlot = userRestrain.UserExtend.KalpaPlot.Find(m => m.PlotID == plotNPCInfo.PlotID);

            if (funPlot == null)
            {
                plotNum = 1;
                funPlot = new FunPlot
                {
                    PlotID = plotNPCInfo.PlotID,
                    Num    = plotNum
                };
                userRestrain.UserExtend.UpdateNotify(obj =>
                {
                    userRestrain.UserExtend.KalpaPlot.Add(funPlot);
                    return(true);
                });
            }
        }