using SVSim.EmulatedEntrypoint.Models.Dtos.Responses.ArenaTwoPick; namespace SVSim.EmulatedEntrypoint.Services; public interface IArenaTwoPickService { Task GetTopAsync(long viewerId); Task EntryAsync(long viewerId, int consumeItemType); Task ChooseClassAsync(long viewerId, int classId); Task ChooseCardAsync(long viewerId, long selectedId); Task RetireAsync(long viewerId); Task FinishAsync(long viewerId); Task RecordBattleResultAsync(long viewerId, bool isWin); } public class ArenaTwoPickException : Exception { public string ErrorCode { get; } public ArenaTwoPickException(string errorCode) : base(errorCode) { ErrorCode = errorCode; } }