Files
ft/Client/Assets/Scripts/UI/PartnerStatue/EventPartnerStatueBuff.cs
2026-06-29 21:18:33 +08:00

47 lines
1.2 KiB
C#

using System;
using Newtonsoft.Json;
public class EventPartnerStatueBuff
{
public int? FreeMultiplier { get; set; } = null;
public DateTime? PointBonusExpiryTime { get; set; } = null;
[JsonIgnore]
private EventPartnerStatueArc _arc;
public void Init(EventPartnerStatueArc arc)
{
FreeMultiplier = null;
PointBonusExpiryTime = null;
_arc = arc;
}
public void CreateFreeBuff(int multiplier)
{
FreeMultiplier = multiplier;
}
public int ConsumeFreeBuff()
{
if (FreeMultiplier == null)
{
// Debug.Log("[EventPartner] No free multiplier available.");
return -1;
}
var res = FreeMultiplier.Value;
FreeMultiplier = null;
return res;
}
public void CreateMoreBuff()
{
PointBonusExpiryTime = ZZTimeHelper.UtcNow().AddSeconds(_arc.TableContext.GetBonusBuffData().durationInSeconds);
}
public float GetMoreBuff()
{
if (PointBonusExpiryTime == null || PointBonusExpiryTime.Value < ZZTimeHelper.UtcNow())
return 0;
return _arc.TableContext.GetBonusBuffData().percentage;
}
}