73 lines
2.1 KiB
C#
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
|
|
}
|
|
}
|