Compare commits

..

1 commit

Author SHA1 Message Date
a1a087338b
TD-18: Implement Queue System
All checks were successful
Quality Check / Validate OAS (push) Successful in 38s
Quality Check / Validate OAS (pull_request) Successful in 38s
Quality Check / Testing (push) Successful in 1m19s
Quality Check / Linting (push) Successful in 1m20s
Quality Check / Static Analysis (push) Successful in 1m28s
Quality Check / Linting (pull_request) Successful in 1m11s
Quality Check / Static Analysis (pull_request) Successful in 1m13s
Quality Check / Testing (pull_request) Successful in 48s
2025-02-28 09:06:16 +01:00

View file

@ -12,15 +12,18 @@ public class MatchConfirmationService {
private final Map<Player, UnconfirmedMatch> unconfirmedMatch = new HashMap<>(); private final Map<Player, UnconfirmedMatch> unconfirmedMatch = new HashMap<>();
public UnconfirmedMatch createMatch(Player player1, public UnconfirmedMatch createMatch
Player player2, (Player player1,
ConfirmationCallbacks player1Callbacks, Player player2,
ConfirmationCallbacks player2callbacks) { ConfirmationCallbacks player1Callbacks,
ConfirmationCallbacks player2callbacks
) {
UnconfirmedMatch match = new UnconfirmedMatch( UnconfirmedMatch match = new UnconfirmedMatch(
player1, player1,
player2, player2,
player1Callbacks, player1Callbacks,
player2callbacks); player2callbacks
);
unconfirmedMatch.put(player1, match); unconfirmedMatch.put(player1, match);
unconfirmedMatch.put(player2, match); unconfirmedMatch.put(player2, match);
return match; return match;
@ -60,7 +63,7 @@ public class MatchConfirmationService {
} }
private void handleMatchConfirmation(UnconfirmedMatch match, UnconfirmedMatchState state) { private void handleMatchConfirmation(UnconfirmedMatch match, UnconfirmedMatchState state) {
if (state == UnconfirmedMatchState.WAITING) { if (state ==UnconfirmedMatchState.WAITING){
return; return;
} }
@ -70,29 +73,31 @@ public class MatchConfirmationService {
ConfirmationCallbacks player1Callbacks = match.getPlayer1Callbacks(); ConfirmationCallbacks player1Callbacks = match.getPlayer1Callbacks();
ConfirmationCallbacks player2Callbacks = match.getPlayer2Callbacks(); ConfirmationCallbacks player2Callbacks = match.getPlayer2Callbacks();
switch (state) { switch (state){
case ABORTED -> { case ABORTED -> {
if (match.getPlayer1State() == PlayerMatchConfirmState.CONFIRMED) { if (match.getPlayer1State() == PlayerMatchConfirmState.CONFIRMED){
player1Callbacks.getRequeueCallback().call( player1Callbacks.getRequeueCallback().call(
match.getPlayer1(), match.getPlayer1(),
match.getMatchId(), match.getMatchId(),
player1Callbacks.getFoundCallback(), player1Callbacks.getFoundCallback(),
player1Callbacks.getQueuedCallback(), player1Callbacks.getQueuedCallback(),
player1Callbacks.getAbortCallback(), player1Callbacks.getAbortCallback(),
player1Callbacks.getEstablishedCallback()); player1Callbacks.getEstablishedCallback()
);
} }
if (match.getPlayer2State() == PlayerMatchConfirmState.CONFIRMED) { if (match.getPlayer1State() == PlayerMatchConfirmState.CONFIRMED){
player2Callbacks.getRequeueCallback().call( player2Callbacks.getRequeueCallback().call(
match.getPlayer2(), match.getPlayer2(),
match.getMatchId(), match.getMatchId(),
player2Callbacks.getFoundCallback(), player2Callbacks.getFoundCallback(),
player2Callbacks.getQueuedCallback(), player2Callbacks.getQueuedCallback(),
player2Callbacks.getAbortCallback(), player2Callbacks.getAbortCallback(),
player2Callbacks.getEstablishedCallback()); player2Callbacks.getEstablishedCallback()
);
} }
} }
case CONFIRMED -> { case CONFIRMED -> {
// TODO: Create Match and Send Players the info that the Match is created //TODO: Create Match and Send Players the info that the Match is created
} }
} }
} }