/// <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); }); } } } } }
/// <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(); } }
/// <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); }); } }