bb887b0901
* callbacks * controllers * Router override * make requests use interface * create Routers * extra parts
267 lines
9.7 KiB
C#
267 lines
9.7 KiB
C#
using Core.Annotations;
|
|
using Core.Callbacks;
|
|
using Core.DI;
|
|
using Core.Models.Eft.Common;
|
|
using Core.Models.Eft.Match;
|
|
using Core.Utils;
|
|
|
|
namespace Core.Routers.Static;
|
|
|
|
[Injectable(InjectableTypeOverride = typeof(StaticRouter))]
|
|
public class MatchStaticRouter : StaticRouter
|
|
{
|
|
protected static MatchCallbacks _matchCallbacks;
|
|
|
|
public MatchStaticRouter(
|
|
JsonUtil jsonUtil,
|
|
MatchCallbacks matchCallbacks
|
|
) : base(
|
|
jsonUtil,
|
|
[
|
|
new RouteAction(
|
|
"/client/match/available",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.ServerAvailable(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/updatePing",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.UpdatePing(url, info as UpdatePingRequestData, sessionID),
|
|
typeof(UpdatePingRequestData)),
|
|
new RouteAction(
|
|
"/client/match/join",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.JoinMatch(url, info as MatchGroupStartGameRequest, sessionID),
|
|
typeof(MatchGroupStartGameRequest)),
|
|
new RouteAction(
|
|
"/client/match/exit",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.ExitMatch(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/delete",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.DeleteGroup(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/leave",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.LeaveGroup(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/status",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.GetGroupStatus(url, info as MatchGroupStatusRequest, sessionID),
|
|
typeof(MatchGroupStatusRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/start_game",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.JoinMatch(url, info as MatchGroupStartGameRequest, sessionID),
|
|
typeof(MatchGroupStartGameRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/exit_from_menu",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.ExitFromMenu(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/current",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.GroupCurrent(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/looking/start",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.StartGroupSearch(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/looking/stop",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.StopGroupSearch(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/invite/send",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.SendGroupInvite(url, info as MatchGroupInviteSendRequest, sessionID),
|
|
typeof(MatchGroupInviteSendRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/invite/accept",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.AcceptGroupInvite(url, info as RequestIdRequest, sessionID),
|
|
typeof(RequestIdRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/invite/decline",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.DeclineGroupInvite(url, info as RequestIdRequest, sessionID),
|
|
typeof(RequestIdRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/invite/cancel",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.CancelGroupInvite(url, info as RequestIdRequest, sessionID),
|
|
typeof(RequestIdRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/invite/cancel-all",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.CancelAllGroupInvite(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/transfer",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.TransferGroup(url, info as MatchGroupTransferRequest, sessionID),
|
|
typeof(MatchGroupTransferRequest)),
|
|
new RouteAction(
|
|
"/client/match/group/raid/ready",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.RaidReady(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/match/group/raid/not-ready",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.NotRaidReady(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/putMetrics",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.PutMetrics(url, info as PutMetricsRequestData, sessionID),
|
|
typeof(PutMetricsRequestData)),
|
|
new RouteAction(
|
|
"/client/analytics/event-disconnect",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.EventDisconnect(url, info as PutMetricsRequestData, sessionID),
|
|
typeof(PutMetricsRequestData)),
|
|
new RouteAction(
|
|
"/client/getMetricsConfig",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.GetMetrics(url, info as EmptyRequestData, sessionID)),
|
|
new RouteAction(
|
|
"/client/raid/configuration",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.GetRaidConfiguration(url, info as GetRaidConfigurationRequestData, sessionID),
|
|
typeof(GetRaidConfigurationRequestData)),
|
|
new RouteAction(
|
|
"/client/raid/configuration-by-profile",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.GetConfigurationByProfile(url, info as GetRaidConfigurationRequestData, sessionID),
|
|
typeof(GetRaidConfigurationRequestData)),
|
|
new RouteAction(
|
|
"/client/match/group/player/remove",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.RemovePlayerFromGroup(url, info as MatchGroupPlayerRemoveRequest, sessionID),
|
|
typeof(MatchGroupPlayerRemoveRequest)),
|
|
new RouteAction(
|
|
"/client/match/local/start",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.StartLocalRaid(url, info as StartLocalRaidRequestData, sessionID),
|
|
typeof(StartLocalRaidRequestData)),
|
|
new RouteAction(
|
|
"/client/match/local/end",
|
|
(
|
|
url,
|
|
info,
|
|
sessionID,
|
|
output
|
|
) => _matchCallbacks.EndLocalRaid(url, info as EndLocalRaidRequestData, sessionID),
|
|
typeof(EndLocalRaidRequestData))
|
|
]
|
|
)
|
|
{
|
|
_matchCallbacks = matchCallbacks;
|
|
}
|
|
}
|