-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathMultiApiProvider.cs
More file actions
70 lines (55 loc) · 2.63 KB
/
MultiApiProvider.cs
File metadata and controls
70 lines (55 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
namespace PugSharp.Api.Contract;
public class MultiApiProvider : IApiProvider
{
private readonly List<IApiProvider> _ApiProviders = new();
public void AddApiProvider(IApiProvider apiProvider)
{
_ApiProviders.Add(apiProvider);
}
public void ClearApiProviders()
{
_ApiProviders.Clear();
}
#region IApiProvider
public Task MapVetoedAsync(MapVetoedParams mapVetoedParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.MapVetoedAsync(mapVetoedParams, cancellationToken)));
}
public Task MapPickedAsync(MapPickedParams mapPickedParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.MapPickedAsync(mapPickedParams, cancellationToken)));
}
public Task GoingLiveAsync(GoingLiveParams goingLiveParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.GoingLiveAsync(goingLiveParams, cancellationToken)));
}
public Task RoundStatsUpdateAsync(RoundStatusUpdateParams roundStatusUpdateParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.RoundStatsUpdateAsync(roundStatusUpdateParams, cancellationToken)));
}
public Task RoundMvpAsync(RoundMvpParams roundMvpParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.RoundMvpAsync(roundMvpParams, cancellationToken)));
}
public Task FinalizeMapAsync(MapResultParams finalizeMapParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.FinalizeMapAsync(finalizeMapParams, cancellationToken)));
}
public Task FinalizeAsync(SeriesResultParams seriesResultParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.FinalizeAsync(seriesResultParams, cancellationToken)));
}
public Task FreeServerAsync(CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.FreeServerAsync(cancellationToken)));
}
public Task SendKnifeRoundStartedAsync(KnifeRoundStartedParams knifeRoundStartedParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.SendKnifeRoundStartedAsync(knifeRoundStartedParams, cancellationToken)));
}
public Task SendKnifeRoundWonAsync(KnifeRoundWonParams knifeRoundWonParams, CancellationToken cancellationToken)
{
return Task.WhenAll(_ApiProviders.Select(a => a.SendKnifeRoundWonAsync(knifeRoundWonParams, cancellationToken)));
}
#endregion
}