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

34 lines
1.2 KiB
C#

public class EventPartnerStatueTokenExchangeArcContext : IEventPartnerTokenExchangeContext
{
private EventPartnerStatueArc _arc;
public string RedPointKey => _arc != null ? _arc.GetRedPointKey() : string.Empty;
public int TicketCount => _arc?.Model != null ? _arc.Model.TicketCount : 0;
public int TicketItemId => _arc?.TableContext != null ? _arc.TableContext.GetTicketId() : 0;
public float LureInflationRate => _arc?.Model != null ? _arc.Model.LureInflationRate : 1f;
public int TokenExchangeItemId => _arc?.TableContext != null ? _arc.TableContext.GetTokenExchangeItemId() : 0;
public int TokenExchangeId => _arc?.TableContext != null ? _arc.TableContext.GetTokenExchangeId() : 0;
public void BindArc(EventPartnerStatueArc arc)
{
_arc = arc;
}
public void AddTicket(int amount)
{
if (_arc?.Model == null)
return;
_arc.Model.AddTicket(amount);
}
}
public interface IEventPartnerTokenExchangeContext
{
int TokenExchangeId { get; }
string RedPointKey { get; }
int TicketCount { get; }
float LureInflationRate { get; }
void AddTicket(int amount);
int TokenExchangeItemId { get; }
}