Files
ft/Client/Assets/Scripts/Activity/Services/IEventTokenService.cs
2026-06-29 21:18:33 +08:00

73 lines
2.1 KiB
C#

using System.Collections.Generic;
namespace Activity.Services
{
/// <summary>
/// 活动代币服务接口
/// 提供统一的代币管理能力,替代原有的 FishingEventData.transitionDataDic 直接访问
/// </summary>
public interface IEventTokenService
{
#region
/// <summary>
/// 添加代币
/// </summary>
/// <param name="eventId">活动ID</param>
/// <param name="count">添加数量</param>
void AddToken(int eventId, int count);
/// <summary>
/// 移除代币
/// </summary>
/// <param name="eventId">活动ID</param>
/// <param name="count">移除数量</param>
/// <returns>实际移除的数量</returns>
int RemoveToken(int eventId, int count);
/// <summary>
/// 获取代币数量
/// </summary>
/// <param name="eventId">活动ID</param>
/// <returns>代币数量</returns>
int GetTokenCount(int eventId);
/// <summary>
/// 设置代币数量
/// </summary>
/// <param name="eventId">活动ID</param>
/// <param name="count">代币数量</param>
void SetToken(int eventId, int count);
/// <summary>
/// 清除指定活动的代币记录
/// </summary>
/// <param name="eventId">活动ID</param>
void ClearToken(int eventId);
#endregion
#region
/// <summary>
/// 获取所有活动的代币数据
/// </summary>
/// <returns>活动ID到代币数量的映射</returns>
Dictionary<int, int> GetAllTokens();
/// <summary>
/// 批量设置代币
/// </summary>
/// <param name="tokens">活动ID到代币数量的映射</param>
void SetTokens(Dictionary<int, int> tokens);
/// <summary>
/// 批量清除指定活动的代币记录
/// </summary>
/// <param name="eventIds">要清除的活动ID列表</param>
void ClearTokens(IEnumerable<int> eventIds);
#endregion
}
}