2026-06-10 11:16:46 +08:00
|
|
|
using YD_TrainingCompetition_Api.Models;
|
|
|
|
|
|
|
|
|
|
namespace YD_TrainingCompetition_Api.Competition;
|
|
|
|
|
|
|
|
|
|
public interface ICompetitionSessionService
|
|
|
|
|
{
|
|
|
|
|
CompetitionSessionState GetState();
|
|
|
|
|
Task<CompetitionSessionState> CreateAsync(CreateCompetitionSessionRequest request, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> SelectRoundAsync(int roundIndex, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> SelectNextRoundAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> SelectPreviousRoundAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> DownloadCurrentRoundAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> StartAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> StopAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> ResetCurrentRoundAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> SetParticipantCountAsync(int participantId, int count, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<CompetitionSessionState> ChangeParticipantCountAsync(int participantId, int delta, CancellationToken cancellationToken = default);
|
|
|
|
|
Task ApplyDeviceSnapshotAsync(DeviceSnapshot snapshot, CancellationToken cancellationToken = default);
|
2026-06-10 15:54:30 +08:00
|
|
|
Task TickAsync(CancellationToken cancellationToken = default);
|
2026-06-10 11:16:46 +08:00
|
|
|
}
|