|
@@ -7,52 +7,55 @@ namespace GFGGame
|
|
|
{
|
|
|
public class ActivityInfo
|
|
|
{
|
|
|
- public int activityId;
|
|
|
+ public int ActivityId;
|
|
|
|
|
|
- public long startTime;
|
|
|
+ public long StartTime;
|
|
|
|
|
|
- public long endTime;
|
|
|
+ public long EndTime;
|
|
|
|
|
|
//已经领取的奖励
|
|
|
public List<int> GetRewards = new List<int>();
|
|
|
+
|
|
|
+ //计数值
|
|
|
+ public long CountValue;
|
|
|
}
|
|
|
|
|
|
public class ActivityGlobalDataManager : SingletonBase<ActivityGlobalDataManager>
|
|
|
{
|
|
|
- private Dictionary<int, ActivityInfo> activityInfos = new Dictionary<int, ActivityInfo>();
|
|
|
+ private readonly Dictionary<int, ActivityInfo> activityInfos = new Dictionary<int, ActivityInfo>();
|
|
|
|
|
|
- private Dictionary<int, List<int>> activityInfosByType = new Dictionary<int, List<int>>();
|
|
|
+ private readonly Dictionary<int, List<int>> activityInfosByType = new Dictionary<int, List<int>>();
|
|
|
|
|
|
public void Clear()
|
|
|
{
|
|
|
activityInfos.Clear();
|
|
|
activityInfosByType.Clear();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//添加活动数据
|
|
|
public void AddActivityInfo(ActivityInfo activityInfo)
|
|
|
{
|
|
|
if (activityInfo == null) return;
|
|
|
- if (activityInfos.ContainsKey(activityInfo.activityId)) return;
|
|
|
- activityInfos.Add(activityInfo.activityId, activityInfo);
|
|
|
+ if (activityInfos.ContainsKey(activityInfo.ActivityId)) return;
|
|
|
+ activityInfos.Add(activityInfo.ActivityId, activityInfo);
|
|
|
|
|
|
- ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
|
|
|
+ ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
|
|
|
if (!activityInfosByType.ContainsKey(activityOpenCfg.type))
|
|
|
{
|
|
|
activityInfosByType.Add(activityOpenCfg.type, new List<int>());
|
|
|
}
|
|
|
- activityInfosByType[activityOpenCfg.type].Add(activityInfo.activityId);
|
|
|
+ activityInfosByType[activityOpenCfg.type].Add(activityInfo.ActivityId);
|
|
|
//ACTIVITY_ADD
|
|
|
- EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD, activityInfo.activityId);
|
|
|
- var remainTime = activityInfo.endTime - TimeHelper.ServerNow();
|
|
|
+ EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD, activityInfo.ActivityId);
|
|
|
+ var remainTime = activityInfo.EndTime - TimeHelper.ServerNow();
|
|
|
if (remainTime > 0)
|
|
|
{
|
|
|
- Timers.inst.Add(activityInfo.endTime - TimeHelper.ServerNow(), 1, ClientRemoveActivityInfo,
|
|
|
- activityInfo.activityId);
|
|
|
+ Timers.inst.Add(activityInfo.EndTime - TimeHelper.ServerNow(), 1, ClientRemoveActivityInfo,
|
|
|
+ activityInfo.ActivityId);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ClientRemoveActivityInfo(activityInfo.activityId);
|
|
|
+ ClientRemoveActivityInfo(activityInfo.ActivityId);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -102,5 +105,13 @@ namespace GFGGame
|
|
|
activityInfo.GetRewards.Add(rewardId);
|
|
|
EventAgent.DispatchEvent(ConstMessage.ACTIVITY_REWARD_ADD, activityId);
|
|
|
}
|
|
|
+
|
|
|
+ public void SetActivityCountValue(int activityId, long countValue)
|
|
|
+ {
|
|
|
+ if (!activityInfos.ContainsKey(activityId)) return;
|
|
|
+ var activityInfo = activityInfos[activityId];
|
|
|
+ activityInfo.CountValue = countValue;
|
|
|
+ EventAgent.DispatchEvent(ConstMessage.ACTIVITY_COUNT_VALUE_CHANGE, activityId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|