先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
561 lines
21 KiB
C#
561 lines
21 KiB
C#
using asap.core;
|
|
using cfg;
|
|
using GameCore;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
public class BuffDataCenter
|
|
{
|
|
private cfg.Tables _tables;
|
|
public BuffDataCenter(cfg.Tables tables)
|
|
{
|
|
this._tables = tables;
|
|
}
|
|
Dictionary<int, FishBuffTimeData> mapBuffDataList = new Dictionary<int, FishBuffTimeData>();
|
|
List<FishBuffTimeData> targetBuffDataList = new List<FishBuffTimeData>();
|
|
Dictionary<int, FishBuffTimeData> globalBuffDataList = new Dictionary<int, FishBuffTimeData>();
|
|
FishBuffTimeData fishDailyBuff = null;
|
|
public List<FishBuffTimeData> showFishBuffIds = new List<FishBuffTimeData>();
|
|
public void InitData(Dictionary<string, string> userDatas)
|
|
{
|
|
if (userDatas.TryGetValue("BuffDataList", out string buffDataStr))
|
|
{
|
|
InitBuffData(buffDataStr);
|
|
}
|
|
if (userDatas.TryGetValue("TargetBuffDataList", out string targetBuffDataStr))
|
|
{
|
|
InitTargetBuffData(targetBuffDataStr);
|
|
}
|
|
if (userDatas.TryGetValue("FishDailyBuff", out string dailyBuffDataStr))
|
|
{
|
|
InitDailyBuffData(dailyBuffDataStr);
|
|
}
|
|
if (userDatas.TryGetValue("GlobalBuffDataList", out string globalBuffDataStr))
|
|
{
|
|
InitGlobalBuffData(globalBuffDataStr);
|
|
}
|
|
|
|
}
|
|
void InitBuffData(string dataStr)
|
|
{
|
|
mapBuffDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<int, FishBuffTimeData>>(dataStr);
|
|
}
|
|
void InitTargetBuffData(string dataStr)
|
|
{
|
|
targetBuffDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FishBuffTimeData>>(dataStr);
|
|
}
|
|
void InitDailyBuffData(string dataStr)
|
|
{
|
|
fishDailyBuff = Newtonsoft.Json.JsonConvert.DeserializeObject<FishBuffTimeData>(dataStr);
|
|
}
|
|
void InitGlobalBuffData(string dataStr)
|
|
{
|
|
globalBuffDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<int, FishBuffTimeData>>(dataStr);
|
|
}
|
|
#region 地图Buff或目标奖励Buff
|
|
public FishBuff IsMapBuff(int mapId)
|
|
{
|
|
if (mapBuffDataList.TryGetValue(mapId, out FishBuffTimeData mapBuffData) && !mapBuffData.isEnd && mapBuffData.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
FishBuff buff = _tables.TbFishBuff.GetOrDefault(mapBuffData.buffID);
|
|
return buff;
|
|
}
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
if (!item.isEnd && item.sourceID == mapId && item.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
|
|
FishBuff buff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
return buff;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
public bool IsDarkness(int mapId)
|
|
{
|
|
if (mapBuffDataList.TryGetValue(mapId, out FishBuffTimeData mapBuffData) && !mapBuffData.isEnd && mapBuffData.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(mapBuffData.buffID);
|
|
if (buff.IsDarkness)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
if (!item.isEnd && (item.sourceID == mapId || item.sourceID == 0) && item.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
if (buff.IsDarkness)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
public string GetSceneFx(int mapId)
|
|
{
|
|
if (mapBuffDataList.TryGetValue(mapId, out FishBuffTimeData mapBuffData) && !mapBuffData.isEnd && mapBuffData.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(mapBuffData.buffID);
|
|
if (!string.IsNullOrEmpty(buff.SceneFx))
|
|
{
|
|
return buff.SceneFx;
|
|
}
|
|
}
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
if (!item.isEnd && (item.sourceID == mapId || item.sourceID == 0) && item.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
if (!string.IsNullOrEmpty(buff.SceneFx))
|
|
{
|
|
return buff.SceneFx;
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
//获取某种Buff
|
|
public FishBuffTimeData GetBuffData<T>() where T : FishBuffType
|
|
{
|
|
int curMapId = GContext.container.Resolve<PlayerData>().currentMapId;
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
if (buff.BuffParam is T && !item.isEnd && (item.sourceID == curMapId || item.sourceID == 0) && item.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
return item;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
//排行榜活动特殊地图额外积分
|
|
public float GetSpMapExtraPointBuffValue()
|
|
{
|
|
float extraPointValue = 0;
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
if (buff.BuffParam is SpMapExtraPoint && !item.isEnd && item.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
SpMapExtraPoint extraPoint = buff.BuffParam as SpMapExtraPoint;
|
|
extraPointValue += extraPoint.Param;
|
|
}
|
|
}
|
|
return extraPointValue;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 地图Buff
|
|
public bool CheckMapBuff(int mapID)
|
|
{
|
|
if (mapID != GContext.container.Resolve<PlayerData>().lastMapId)
|
|
{
|
|
return false;
|
|
}
|
|
if (!mapBuffDataList.ContainsKey(mapID))
|
|
{
|
|
var mapdata = _tables.TbMapData.GetOrDefault(mapID);
|
|
if (mapdata != null && mapdata.FishBuff > 0)
|
|
{
|
|
var buffData = _tables.TbFishBuff.GetOrDefault(mapdata.FishBuff);
|
|
var mapBuffData = new FishBuffTimeData();
|
|
mapBuffData.SortID = buffData.SortID;
|
|
mapBuffData.sourceID = mapID;
|
|
mapBuffData.buffID = mapdata.FishBuff;
|
|
DateTime now = ZZTimeHelper.UtcNow().UtcNowOffset();
|
|
mapBuffData.buffEndTime = now.AddSeconds(buffData.CountDown);
|
|
mapBuffDataList.Add(mapID, mapBuffData);
|
|
PlayFabMgr.Instance.UpdateUserDataValue("BuffDataList", Newtonsoft.Json.JsonConvert.SerializeObject(mapBuffDataList));
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
//当前地图的Buff
|
|
public FishBuffTimeData GetMapBuffTimeData(int mapId)
|
|
{
|
|
if (mapBuffDataList.TryGetValue(mapId, out FishBuffTimeData mapBuffData) && !mapBuffData.isEnd && mapBuffData.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
return mapBuffData;
|
|
}
|
|
return null;
|
|
}
|
|
//钓鱼金币加成
|
|
public float GetExtraGoldBuffValue(int mapId, int fishQuality)
|
|
{
|
|
float extraGoldValue = 0;
|
|
|
|
if (mapBuffDataList.TryGetValue(mapId, out FishBuffTimeData mapBuffData) && !mapBuffData.isEnd && mapBuffData.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(mapBuffData.buffID);
|
|
if (buff.BuffParam is ExtraGold)
|
|
{
|
|
ExtraGold extraGold = buff.BuffParam as ExtraGold;
|
|
extraGoldValue += extraGold.Param;
|
|
}
|
|
}
|
|
MoreFishingCash moreFishingCash = GetWeelyBuffTimeData<MoreFishingCash>();
|
|
if (moreFishingCash != null)
|
|
{
|
|
for (int i = 0; i < moreFishingCash.Quality.Count; i++)
|
|
{
|
|
if (fishQuality == moreFishingCash.Quality[i])
|
|
{
|
|
extraGoldValue += moreFishingCash.Param[i];
|
|
}
|
|
}
|
|
}
|
|
return extraGoldValue;
|
|
}
|
|
#endregion
|
|
#region 目标奖励活动Buff
|
|
public void CheckTargetBuff()
|
|
{
|
|
FishingEventData fishingEventData = GContext.container.Resolve<FishingEventData>();
|
|
var collectingTargetInit = fishingEventData.collectingTargetInit;
|
|
if (collectingTargetInit != null)
|
|
{
|
|
EventTargetExtraDrop eventTargetExtraDrop = collectingTargetInit.FishingExtraDrop;
|
|
ETKeepsake eTKeepsake = null;
|
|
if (eventTargetExtraDrop is ETKeepsake)
|
|
{
|
|
eTKeepsake = eventTargetExtraDrop as ETKeepsake;
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
|
|
int buffID = eTKeepsake.FishbuffID;
|
|
FishBuff fishBuff = _tables.TbFishBuff.GetOrDefault(buffID);
|
|
if (fishBuff != null)
|
|
{
|
|
FishBuffTimeData fishBuffTimeData = new FishBuffTimeData();
|
|
if (fishBuff.IsMapBuff)
|
|
{
|
|
fishBuffTimeData.sourceID = GContext.container.Resolve<PlayerData>().currentMapId;
|
|
}
|
|
else
|
|
{
|
|
fishBuffTimeData.sourceID = 0;
|
|
}
|
|
fishBuffTimeData.SortID = fishBuff.SortID;
|
|
fishBuffTimeData.buffID = fishBuff.ID;
|
|
if (fishBuff.CountDown > 0)
|
|
{
|
|
fishBuffTimeData.buffEndTime = ZZTimeHelper.UtcNow().UtcNowOffset().AddSeconds(fishBuff.CountDown);
|
|
}
|
|
else
|
|
{
|
|
fishBuffTimeData.buffEndTime = fishingEventData.GetCollectingTargetEndTime();
|
|
}
|
|
for (int i = 0; i < targetBuffDataList.Count; i++)
|
|
{
|
|
if (targetBuffDataList[i].buffID == fishBuffTimeData.buffID && targetBuffDataList[i].sourceID == fishBuffTimeData.sourceID)
|
|
{
|
|
targetBuffDataList[i] = fishBuffTimeData;
|
|
PlayFabMgr.Instance.UpdateUserDataValue("TargetBuffDataList", Newtonsoft.Json.JsonConvert.SerializeObject(targetBuffDataList));
|
|
return;
|
|
}
|
|
}
|
|
targetBuffDataList.Add(fishBuffTimeData);
|
|
PlayFabMgr.Instance.UpdateUserDataValue("TargetBuffDataList", Newtonsoft.Json.JsonConvert.SerializeObject(targetBuffDataList));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ClearTargetBuff();
|
|
}
|
|
}
|
|
public void ClearTargetBuff()
|
|
{
|
|
targetBuffDataList.Clear();
|
|
PlayFabMgr.Instance.UpdateUserDataValue("TargetBuffDataList", Newtonsoft.Json.JsonConvert.SerializeObject(targetBuffDataList));
|
|
}
|
|
/// <summary>
|
|
/// CollectionTargetWeight的特殊处理
|
|
/// </summary>
|
|
/// <param name="fishItemId"></param>
|
|
public void EndCollectionTargetWeight(int fishItemId)
|
|
{
|
|
CollectingTargetInit collectingTargetInit = GContext.container.Resolve<FishingEventData>().collectingTargetInit;
|
|
if (collectingTargetInit == null)
|
|
{
|
|
return;
|
|
}
|
|
EventTargetExtraDrop eventTargetExtraDrop = collectingTargetInit.FishingExtraDrop;
|
|
ETKeepsake eTKeepsake = null;
|
|
if (eventTargetExtraDrop is ETKeepsake)
|
|
{
|
|
eTKeepsake = eventTargetExtraDrop as ETKeepsake;
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
FishBuff fishBuff;
|
|
int curMapId = GContext.container.Resolve<PlayerData>().currentMapId;
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
fishBuff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
if (!item.isEnd && (item.sourceID == curMapId || item.sourceID == 0) && fishBuff.BuffParam is CollectionTargetWeight)
|
|
{
|
|
CollectionTargetWeight collectionTargetWeight = fishBuff.BuffParam as CollectionTargetWeight;
|
|
if (collectionTargetWeight.TargetFishIndex < 1 || collectionTargetWeight.TargetFishIndex > eTKeepsake.FishIDList.Count)
|
|
{
|
|
continue;
|
|
}
|
|
else if (fishItemId == eTKeepsake.FishIDList[collectionTargetWeight.TargetFishIndex - 1])
|
|
{
|
|
item.isEnd = true;
|
|
PlayFabMgr.Instance.UpdateUserDataValue("TargetBuffDataList", Newtonsoft.Json.JsonConvert.SerializeObject(targetBuffDataList));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//目标奖励活动额外积分
|
|
public float GetCollectionTargetExtraPointBuffValue(int mapId)
|
|
{
|
|
float extraPointValue = 0;
|
|
foreach (var item in targetBuffDataList)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(item.buffID);
|
|
if (buff.BuffParam is CollectionTargetExtraPoint && !item.isEnd && (item.sourceID == mapId || item.sourceID == 0) && item.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
CollectionTargetExtraPoint extraPoint = buff.BuffParam as CollectionTargetExtraPoint;
|
|
extraPointValue += extraPoint.Param;
|
|
}
|
|
}
|
|
return extraPointValue;
|
|
}
|
|
#endregion
|
|
#region 全局Buff Item投放
|
|
|
|
public void SetGlobalBucffNew(int buffID, bool isNew = true)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(buffID);
|
|
if (buff != null)
|
|
{
|
|
if (globalBuffDataList.TryGetValue(buff.GroupId, out FishBuffTimeData fishBuffTimeData))
|
|
{
|
|
if (fishBuffTimeData.isNew != isNew)
|
|
{
|
|
fishBuffTimeData.isNew = isNew;
|
|
|
|
if (isNew)
|
|
{
|
|
showFishBuffIds.Add(fishBuffTimeData);
|
|
}
|
|
else
|
|
{
|
|
showFishBuffIds.Remove(fishBuffTimeData);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void AddGlobalBuff(int buffID)
|
|
{
|
|
var buff = _tables.TbFishBuff.GetOrDefault(buffID);
|
|
if (buff != null)
|
|
{
|
|
var UtcNow = ZZTimeHelper.UtcNow().UtcNowOffset();
|
|
bool isNewBuff = true;
|
|
if (globalBuffDataList.TryGetValue(buff.GroupId, out FishBuffTimeData fishBuffTimeData))
|
|
{
|
|
var oldBuff = _tables.TbFishBuff.GetOrDefault(fishBuffTimeData.buffID);
|
|
if (oldBuff.GroupId != buff.GroupId)
|
|
{
|
|
globalBuffDataList.Remove(buff.GroupId);
|
|
}
|
|
else
|
|
{
|
|
isNewBuff = false;
|
|
if (fishBuffTimeData.buffEndTime.Ticks > UtcNow.Ticks)
|
|
{
|
|
fishBuffTimeData.buffEndTime = fishBuffTimeData.buffEndTime.AddSeconds(buff.CountDown);
|
|
if (buff.SortID > fishBuffTimeData.SortID)
|
|
{
|
|
fishBuffTimeData.SortID = buff.SortID;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
fishBuffTimeData.buffEndTime = UtcNow.AddSeconds(buff.CountDown);
|
|
fishBuffTimeData.SortID = buff.SortID;
|
|
fishBuffTimeData.isNew = true;
|
|
}
|
|
fishBuffTimeData.isEnd = false;
|
|
showFishBuffIds.Add(fishBuffTimeData);
|
|
fishBuffTimeData.addDown = buff.CountDown;
|
|
}
|
|
}
|
|
if (isNewBuff)
|
|
{
|
|
fishBuffTimeData = new FishBuffTimeData();
|
|
if (buff.IsMapBuff)
|
|
{
|
|
fishBuffTimeData.sourceID = GContext.container.Resolve<PlayerData>().currentMapId;
|
|
}
|
|
else
|
|
{
|
|
fishBuffTimeData.sourceID = 0;
|
|
}
|
|
fishBuffTimeData.buffID = buffID;
|
|
if (buff.CountDown > 0)
|
|
{
|
|
fishBuffTimeData.buffEndTime = ZZTimeHelper.UtcNow().UtcNowOffset().AddSeconds(buff.CountDown);
|
|
}
|
|
else
|
|
{
|
|
fishBuffTimeData.buffEndTime = ZZTimeHelper.UtcNow().UtcNowOffset().AddDays(1);
|
|
}
|
|
globalBuffDataList[buff.GroupId] = fishBuffTimeData;
|
|
fishBuffTimeData.SortID = buff.SortID;
|
|
fishBuffTimeData.isNew = true;
|
|
fishBuffTimeData.addDown = buff.CountDown;
|
|
showFishBuffIds.Add(fishBuffTimeData);
|
|
}
|
|
PlayFabMgr.Instance.UpdateUserDataValue("GlobalBuffDataList", Newtonsoft.Json.JsonConvert.SerializeObject(globalBuffDataList));
|
|
GContext.Publish(new AddGlobalBuffEvent(buffID));
|
|
}
|
|
}
|
|
|
|
//GetBuffGroupTimeData
|
|
public T GetWeelyBuffTimeData<T>(bool isEnd = false) where T : FishBuffType
|
|
{
|
|
GetWeelyBuff();
|
|
foreach (var item in globalBuffDataList)
|
|
{
|
|
if (!item.Value.isEnd && item.Value.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
FishBuff buff = _tables.TbFishBuff.GetOrDefault(item.Value.buffID);
|
|
if (buff != null && buff.BuffParam is T)
|
|
{
|
|
//if (isEnd)
|
|
//{
|
|
// item.Value.isEnd = true;
|
|
//}
|
|
return buff.BuffParam as T;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
public FishBuffTimeData GetBuffTimeDataByType<T>() where T : FishBuffType
|
|
{
|
|
GetWeelyBuff();
|
|
foreach (var item in globalBuffDataList)
|
|
{
|
|
if (!item.Value.isEnd && item.Value.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
FishBuff buff = _tables.TbFishBuff.GetOrDefault(item.Value.buffID);
|
|
if (buff.BuffParam.GetType() == typeof(T))
|
|
{
|
|
return item.Value;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
public List<FishBuffTimeData> GetGroupBuff()
|
|
{
|
|
GetWeelyBuff();
|
|
List<FishBuffTimeData> buffList = new List<FishBuffTimeData>();
|
|
foreach (var item in globalBuffDataList)
|
|
{
|
|
if (!item.Value.isEnd && item.Value.buffEndTime.Ticks > ZZTimeHelper.UtcNow().UtcNowOffset().Ticks)
|
|
{
|
|
buffList.Add(item.Value);
|
|
}
|
|
}
|
|
return buffList;
|
|
}
|
|
#endregion
|
|
#region 每日周期Buff
|
|
|
|
FishBuffTimeData GetWeelyBuff()
|
|
{
|
|
DateTime now = ZZTimeHelper.UtcNow().UtcNowOffset();
|
|
int week = (int)now.DayOfWeek;
|
|
var weelyBuff = _tables.TbWeelyBuffInit.GetOrDefault(week);
|
|
if (weelyBuff != null)
|
|
{
|
|
List<int> dailyBuffList = weelyBuff.DailyBuffList;
|
|
int day = now.DayOfYear;
|
|
if (fishDailyBuff != null && fishDailyBuff.buffEndTime > now/* && fishDailyBuff.buffEndTime.DayOfYear == day*/)
|
|
{
|
|
//旧的每日Buff还未结束
|
|
return fishDailyBuff;
|
|
}
|
|
for (int i = 0; i < dailyBuffList.Count; i++)
|
|
{
|
|
var buff = _tables.TbDailyBuffTrigger.GetOrDefault(dailyBuffList[i]);
|
|
if (buff != null)
|
|
{
|
|
DateTime startTime = now.Date.AddSeconds(buff.StartTime);
|
|
DateTime endTime = now.Date.AddSeconds(buff.EndTime);
|
|
if (now >= startTime && now <= endTime)
|
|
{
|
|
//开启新的每日Buff
|
|
if (buff.LevelRequired > GContext.container.Resolve<PlayerData>().lv)
|
|
{
|
|
return null;
|
|
}
|
|
if (fishDailyBuff == null)
|
|
{
|
|
fishDailyBuff = new FishBuffTimeData();
|
|
}
|
|
if (fishDailyBuff.sourceID == buff.Day/* && fishDailyBuff.buffEndTime.DayOfYear == day*/)
|
|
{
|
|
return null;
|
|
}
|
|
FishBuff fishBuff = _tables.TbFishBuff.GetOrDefault(buff.BuffID);
|
|
fishDailyBuff.buffID = buff.BuffID;
|
|
fishDailyBuff.sourceID = buff.Day;
|
|
fishDailyBuff.buffEndTime = endTime;
|
|
if (fishBuff.CountDown > 0)
|
|
{
|
|
fishDailyBuff.buffEndTime = now.AddSeconds(fishBuff.CountDown);
|
|
}
|
|
AddGlobalBuff(buff.BuffID);
|
|
fishDailyBuff.isEnd = false;
|
|
PlayFabMgr.Instance.UpdateUserDataValue("FishDailyBuff", Newtonsoft.Json.JsonConvert.SerializeObject(fishDailyBuff));
|
|
return fishDailyBuff;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
return null;
|
|
}
|
|
#endregion
|
|
}
|
|
public class FishBuffTimeData
|
|
{
|
|
public int SortID;
|
|
public int sourceID;
|
|
public int buffID;
|
|
public bool isEnd = false;
|
|
[NonSerialized]
|
|
public bool isNew = false;
|
|
[NonSerialized]
|
|
public int addDown;
|
|
public DateTime buffEndTime;
|
|
}
|
|
public class AddGlobalBuffEvent
|
|
{
|
|
|
|
public int buffID;
|
|
public AddGlobalBuffEvent(int buffID)
|
|
{
|
|
this.buffID = buffID;
|
|
}
|
|
} |