Hello all,
Hopefully this is a simple clarification. I'm using PlayFab/Unreal 5.1, if that helps. Also assume that all this is taking place in the event graph.
I'm working on setting up a client UI that allows players to connect to a matchmaking server to place players in a game. All has been going well, but I noticed the player could spam the matchmaking/cancel buttons to error the system out.
I have an initial button that starts the process of obtaining a matchmaking ticket. When the server responds to the ticket creation, it sets a timer to retrieve the status of that ticket.
And I also have a cancel button that is displayed after, the cancel button just sends a request to the server to cancel all matchmaking tickets for this player, and also invalidates the timer set in the matchmaking button.
But I noticed if you click the cancel button immediately after clicking the matchmaking button, the matchmaking ticket wouldn't have finished its creation. Once the ticket is finished, since it doesn't know the cancel button was hit, it queues up the ticket checking mechanism.
I figured I could just set an overall "LookingForMatch" that would be a final authority during events like these, should we continue the matchmaking process or abort it where we're at.
The problem I've encountered, is that the boolean/variable update to accomplish this, doesn't appear to be actually updating during the matchmaking ticket process, even if a new event happens, it's still reading the old value. All of these events are connected via delegates as you would anticipate.
I've validated with logging that the correct order of ops appears to be taking place. This makes me think the event chain I've set up won't actually see variable updates until after it's completed, but I can't find any documentation confirming this (I could be overlooking something of course).
Can someone explain the error in my process?
I figured this is more of an UE forum question, but my account is under moderator review there... (for 8 days :D). Given that, I figured I'd ask here to see if anyone knows!