备份CatanBuilding瘦身独立工程
This commit is contained in:
535
Assets/Scripts/DataCenter/BuffDataCenter.cs
Normal file
535
Assets/Scripts/DataCenter/BuffDataCenter.cs
Normal file
@@ -0,0 +1,535 @@
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
//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.BuffParam is T)
|
||||
{
|
||||
//if (isEnd)
|
||||
//{
|
||||
// item.Value.isEnd = true;
|
||||
//}
|
||||
return buff.BuffParam as T;
|
||||
}
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user