6 response DTOs, IArenaTwoPickService interface + ArenaTwoPickException, ArenaTwoPickService skeleton with GetTopAsync implemented and stubs for Tasks 13-15. 3 NUnit tests for GetTopAsync all pass. DI: AddScoped.
21 lines
825 B
C#
21 lines
825 B
C#
using SVSim.EmulatedEntrypoint.Models.Dtos.Responses.ArenaTwoPick;
|
|
|
|
namespace SVSim.EmulatedEntrypoint.Services;
|
|
|
|
public interface IArenaTwoPickService
|
|
{
|
|
Task<TopResponseDto> GetTopAsync(long viewerId);
|
|
Task<EntryResponseDto> EntryAsync(long viewerId, int consumeItemType);
|
|
Task<ClassChooseResponseDto> ChooseClassAsync(long viewerId, int classId);
|
|
Task<CardChooseResponseDto> ChooseCardAsync(long viewerId, long selectedId);
|
|
Task<FinishResponseDto> RetireAsync(long viewerId);
|
|
Task<FinishResponseDto> FinishAsync(long viewerId);
|
|
Task<BattleFinishResultDto> RecordBattleResultAsync(long viewerId, bool isWin);
|
|
}
|
|
|
|
public class ArenaTwoPickException : Exception
|
|
{
|
|
public string ErrorCode { get; }
|
|
public ArenaTwoPickException(string errorCode) : base(errorCode) { ErrorCode = errorCode; }
|
|
}
|