Diarkis C# Client SDK
Public Member Functions | Protected Member Functions | Protected Attributes | Events | List of all members
Diarkis.Modules.WsMatchMaker Class Reference

MatchMaker client interface that uses Ws Diarkis client (WebSocket) for communication. MatchMaker class handles plethora of matchmaking features including Team formaing matchmaking and P2P matchmaking. More...

Inheritance diagram for Diarkis.Modules.WsMatchMaker:
Diarkis.Modules.MatchMaker

Public Member Functions

bool Setup (Ws ws)
 WsMatchmaker class must have an instance of Diarkis WebSocket class. More...
 
override void IssueTicket (byte ticketType)
 Sends a request issue a matchmaking ticket on the server. All matchmaking conditions and logic will be controlled on the server and the client will only be waiting for OnTicketComplete event to be raised. If the issued ticket fails to create a match, the event will be raised only on the client that issued the ticket. If the issued ticket successfully creates a match, the event will be raised on all the clients that have been matched. More...
 
override void CancelTicket (byte ticketType)
 Cancels an issued ticket. More...
 
override bool HostMatchmaking ()
 Registers itself to MatchMaker's matchmaking and wait until matches are made. You may abort matchmaking by calling ClearMatchmaking. You will become the host of this matchmaking. OnHostMatchmakingResponse will be raised as a server response. More...
 
override bool HostTeamMatchmaking ()
 
override void ClearMatchmaking ()
 Clears the current matchmaking without discarding the matchmaking. The matched and joined user clients remain in the matchmaking. This will raise OnAbortMatchmakingResponse as a server response. More...
 
override void DisbandMatchmaking (byte[] message)
 Completely distroys the current matchmaking and kicks out the matched and joined user clients. OnDisbandMatchmaking will be raised on all matched clients. More...
 
override void Kick (string userID)
 Specify a matched user by its ID to forcefully kick out of the matchmaking. Only the host of the matchmaking may execute this operation. OnKick event is raised on all matched user clients including the kicked out user client. More...
 
override void ClaimReservedMatchmaking (byte[] message)
 When you set ReserveOnlyto initiate HostMatchmaking, you must "join" the matchmaking room to be part of the matchmaking. Successful attempt raises OnMemberJoin event on all matched remote clients. OnJoinResponse event as a server response. More...
 
override void JoinMatchmakingFromResult (ResultItem result, byte[] message)
 Attempts to join a matched matchmaking from a search result. Successful attempt raises OnMemberJoin event on all matched remote clients. OnJoinResponse event as a server response. More...
 
override void LeaveMatchmaking (byte[] message)
 Leaves the matchmaking and sends a message to the other members. OnMemberLeave event will be raised. OnLeaveResponse event will be raised as a server response. More...
 
override void Sync (byte[] message)
 Sends a synchronize message to all matched clients. This will raise OnMemberSync event including the sender client. More...
 
override void NotifyMatchmakingCompletion ()
 Sends a notification to all matched clients to let them know that matchmaking has completed. This will also remove the matchmaking from searches. All matched clients will raise OnComplete event including the sender client. Only the client that started the matchmaking is allowed to use this function. More...
 
override void Search (List< string > profileIDs, string tag, Dictionary< string, uint > props, bool joinFlag, ushort howmany, byte[] message)
 Actively search for matchmaking using multiple matchmaking profile IDs. More...
 
override void TeamSearch (List< string > profileIDs, string tag, Dictionary< string, uint > props, bool joinFlag, ushort howmany, byte[] message)
 Actively search for team matchmaking using multiple matchmaking profile IDs. More...
 
override void Commit ()
 Commit instructs all the team members from the matchmaking to join the team matchmaking. When you commit, the previous matchmaking that formed the team will be discarded. All team member clients will raise OnCompleteCommit evevnt. Commited member clients will be able to receive synchonizing messages. This is only usable when team matchmaking is used. More...
 
override bool StartBackfill (string roomID)
 Registers the room of the Room ID passed to be backfilled via MatchMaker. This should be used when you are using Diarkis Room as your in-game session What is backfill? - Backfill allows other remote clients to join a room via MatchMaker while the original members of the room are already in a game session etc. where clients participate in the game play. Using backfill other remote clients may join the game session room directly via MatchMaker. OnMemberJoin will be raised as a new remote client joins. You may abort backfill by calling ClearMatchmaking. More...
 
- Public Member Functions inherited from Diarkis.Modules.MatchMaker
delegate void ResponseRoomIDHandler (bool success, string roomID, byte[] payload)
 
delegate void ResponseHandler (bool success, byte[] message)
 
delegate void JoinResponseHandler (bool success, string[] memberIDs, byte[] payload)
 
delegate void SyncHandler (byte[] message)
 
delegate void ResultsHandler (bool success, ResultItem[] results, byte[] payload)
 
delegate void P2PHandler (Packet.P2PClientAddr[] clients)
 
delegate void IDSyncHandler (string id)
 
delegate void NotificationHandler ()
 Handles server push without data. More...
 
bool SetupAsTcp (Tcp tcp)
 MatchMaker class must have an instance of Diarkis TCP class if the client choses to use TCP. More...
 
bool SetupAsUdp (Udp udp)
 MatchMaker class must have an instance of Diarkis UDP class if the client choses to use UDP. More...
 
bool IsTeamMatchmaking ()
 Returns true if the current matchmaking is a team matchmaking. More...
 
virtual void TicketBroadcast (byte ticketType, byte[] message)
 
virtual void P2PAddressSync (byte linkedClientNum=0)
 Instructs the server to send the list of all matched client's addresses for P2P. Successful call of this method wil raise OnP2PAddressSync event on all matched clients. More...
 

Protected Member Functions

void setupOnReconnEventWS (uint ver, uint cmd, JoinResponseHandler callback)
 
void ClearMatchmakingWS_ (bool halt, byte[] abortMessage)
 
void ClearWS_ (uint cmd, string uid, bool halt, byte[] abortMessage)
 
void SendWS_ (uint cmd, string pkt)
 
- Protected Member Functions inherited from Diarkis.Modules.MatchMaker
void setupOnReconnEvent (uint ver, uint cmd, JoinResponseHandler callback)
 
void ClearMatchmaking_ (bool halt, byte[] abortMessage)
 
byte[] PackForAdd_ (string uid, byte[] metadata)
 
byte[] PackForSearch_ (List< string > profileIDs, string tag, Dictionary< string, uint > props, bool joinFlag, ushort howmany, byte[] message)
 
void Clear_ (uint cmd, string uid, bool halt, byte[] abortMessage)
 
void Send_ (uint cmd, byte[] pkt)
 
void DispatchEventFromBytesListPayload (byte[] payload, SyncHandler eventCallback)
 
void DispatchTicketCompleteSuccess_ (byte[] payload)
 
void DispatchHostChange_ (byte[] payload)
 

Protected Attributes

Ws _ws
 
- Protected Attributes inherited from Diarkis.Modules.MatchMaker
bool _team = false
 
string _roomID = ""
 
string _reservedRoomID = ""
 
string _teamRoomID = ""
 
string _mmID = ""
 
string _uid = ""
 
string _tag = ""
 
Dictionary< string, uint > _props = new Dictionary<string, uint>()
 
byte[] _metadata = new byte[0]
 
ushort _ttl = 60
 
ushort _maxMembers = 0
 
bool _reserveOnly = false
 
bool _waiting = false
 
Tcp _tcp
 
Udp _udp
 
string[] _memberIDs
 

Events

override ResponseHandler OnKickResponse
 Raised as a server response when executing user kick. More...
 
override ResponseRoomIDHandler OnHostMatchmakingResponse
 Event raised by HostMatchmaking method as the server response. More...
 
override ResponseRoomIDHandler OnHostTeamMatchmakingResponse
 Event raised by HostTeamMatchmaking method as the server response. More...
 
override ResponseHandler OnAbortMatchmakingResponse
 Event raised by ClearMatchmakingHost method as the server response. More...
 
override SyncHandler OnDisbandMatchmaking
 Event raised when the client started the matchmaking room aborts the matchmaking. More...
 
override SyncHandler OnMemberLeave
 Event raised when other client matched leaves the matchmaking with a message. More...
 
override SyncHandler OnMemberJoin
 Evnt raised when another client matches and joins with a message. More...
 
override SyncHandler OnMemberSync
 Event raised when other client matched sends out synchronizing message. More...
 
override JoinResponseHandler OnJoinResponse
 Event raised as the server resonse when you claim the reserved matchmaking. More...
 
override ResponseHandler OnLeaveResponse
 Event raised as the server response when you leave the matchmaking. More...
 
override NotificationHandler OnComplete
 Event raised when the matchmaking reachs its max members. More...
 
override IDSyncHandler OnKick
 Raised when a matched user is kicked out of the matchmaking by the host. More...
 
override JoinResponseHandler OnSearchResponse
 Event raised when the matchmaking search on the server finishes. This event is raised only when join is set to true. More...
 
override JoinResponseHandler OnTeamSearchResponse
 Event raised when the team matchmaking search on the server finishes. This event is raised only when join is set to true. More...
 
override ResultsHandler OnResultsResponse
 Event raised when the matchmaking search on the server finishes and sends the results. This event is raised only when join is set to false. More...
 
override ResultsHandler OnTeamResultsResponse
 Event raised when the team matchmaking search on the server finishes and sends the results. This event is raised only when join is set to false. More...
 
override ResponseHandler OnBackfillStartResponse
 Event raised as a server responmse to Backfill. More...
 
override ResponseHandler OnCommitResponse
 Event raised as a server response to Commit. More...
 
override JoinResponseHandler OnCompleteCommit
 Event raised on the team member clients when Commit has been successfully executed. More...
 
override ResponseHandler OnTicketComplete
 Event raised when a ticket issed by IssueTicket finishes (success/failure). More...
 
override IDSyncHandler OnHostChange
 Event raised when a matchmaking host is changed. More...
 
override ResponseHandler OnCancelTicket
 Event raised when CancelTicket is invoked. More...
 
- Events inherited from Diarkis.Modules.MatchMaker
virtual ResponseHandler OnTicketBroadcastResponse
 Rased as a server response to TicketBroadcast. More...
 
virtual SyncHandler OnTicketBroadcast
 Raised when a message via TicketBroadcast is received from another matched user. More...
 
virtual ResponseHandler OnKickResponse
 Raised as a server response when executing user kick. More...
 
virtual ResponseRoomIDHandler OnHostMatchmakingResponse
 Event raised by HostMatchmaking method as the server response. More...
 
virtual ResponseRoomIDHandler OnHostTeamMatchmakingResponse
 Event raised by HostTeamMatchmaking method as the server response. More...
 
virtual ResponseHandler OnAbortMatchmakingResponse
 Event raised by ClearMatchmakingHost method as the server response. More...
 
virtual SyncHandler OnDisbandMatchmaking
 Event raised when the client started the matchmaking room aborts the matchmaking. More...
 
virtual SyncHandler OnMemberLeave
 Event raised when other client matched leaves the matchmaking with a message. More...
 
virtual SyncHandler OnMemberJoin
 Evnt raised when another client matches and joins with a message. More...
 
virtual SyncHandler OnMemberSync
 Event raised when other client matched sends out synchronizing message. More...
 
virtual JoinResponseHandler OnJoinResponse
 Event raised as the server resonse when you claim the reserved matchmaking. More...
 
virtual ResponseHandler OnLeaveResponse
 Event raised as the server response when you leave the matchmaking. More...
 
virtual NotificationHandler OnComplete
 Event raised when the matchmaking reachs its max members. More...
 
virtual IDSyncHandler OnKick
 Raised when a matched user is kicked out of the matchmaking by the host. More...
 
virtual JoinResponseHandler OnSearchResponse
 Event raised when the matchmaking search on the server finishes. This event is raised only when join is set to true. More...
 
virtual JoinResponseHandler OnTeamSearchResponse
 Event raised when the team matchmaking search on the server finishes. This event is raised only when join is set to true. More...
 
virtual ResultsHandler OnResultsResponse
 Event raised when the matchmaking search on the server finishes and sends the results. This event is raised only when join is set to false. More...
 
virtual ResultsHandler OnTeamResultsResponse
 Event raised when the team matchmaking search on the server finishes and sends the results. This event is raised only when join is set to false. More...
 
virtual P2PHandler OnP2PAddressSync
 Event raised when P2P is initiated by the owner of the matchmaking via P2PAddressSync. More...
 
virtual ResponseHandler OnP2PAddressSyncResponse
 Event raised as a server response to P2PAddressSync. More...
 
virtual ResponseHandler OnBackfillStartResponse
 Event raised as a server responmse to Backfill. More...
 
virtual ResponseHandler OnCommitResponse
 Event raised as a server response to Commit. More...
 
virtual JoinResponseHandler OnCompleteCommit
 Event raised on the team member clients when Commit has been successfully executed. More...
 
virtual ResponseHandler OnTicketComplete
 Event raised when a ticket issed by IssueTicket finishes (success/failure). More...
 
virtual IDSyncHandler OnHostChange
 Event raised when a matchmaking host is changed. More...
 
virtual ResponseHandler OnCancelTicket
 Event raised when CancelTicket is invoked. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Diarkis.Modules.MatchMaker
const uint NEW_TEAM_CMD = 209
 Built in command to create a new team with the clients currently matched. More...
 
const uint TEAM_SEARCH_CMD = 214
 Built in command to search for other team matchmakings to join. More...
 
const uint COMMIT_CMD = 215
 
const uint COMP_COMMIT_CMD = 216
 Built in command to complete commit by moving from the previous matchmaking to the new team matchmaking. More...
 
- Static Protected Attributes inherited from Diarkis.Modules.MatchMaker
const uint STATUS_OK = 1
 Server response status for success. More...
 
const uint BUILTIN_CMD_VER = 1
 Build in command version that is reserved for Diarkis core. More...
 
const uint WAIT_CMD = 200
 Built in command ID for wait and add. Used by HostMatchmaking method. More...
 
const uint SEARCH_CMD = 201
 Built in command ID for search. Used by Search method. More...
 
const uint REMOVE_CMD = 202
 Built in command ID for remove and abort. Used by ClearMatchmakingHost method. More...
 
const uint LEAVE_CMD = 203
 Built in command ID for leaving the matched matchmaking. More...
 
const uint SYNC_CMD = 204
 Built in command ID for synchronizing with other clients who matched. More...
 
const uint CLAIM_CMD = 205
 Built in command ID for claiming the reserved matchmaking. More...
 
const uint COMPLETE_CMD = 206
 Build in command ID for server push when matchmaking reaches is max members. More...
 
const uint RESULTS_CMD = 207
 Built in command ID for search response when join is set to false. More...
 
const uint P2P_CMD = 208
 Built in command to initiate P2P. This command will raise OnP2PAddressSyncevent with client public addresses for P2P. More...
 
const uint BACKFILL_CMD = 211
 Built in command to start backfill with a room. More...
 
const uint KICK_CMD = 217
 Command for the host to kickout a specific matched user. More...
 
const uint TICKET_CMD = 218
 Command to send a request to issue a matchmaking ticket. Once a matchmaking ticket is issued on the server, the client will wait for OnTicketComplete event to be raised. More...
 
const uint TICKET_ERR = 219
 Push event from server when the issued ticket errors out. The command ID is used for OnTicketComplete event. More...
 
const uint TICKET_COMP = 220
 Push event from server when the issued ticket completes successfully (finds matches). The command ID is used for OnTicketComplete event. More...
 
const uint HOST_CHANGE = 221
 Push event from the server when a host is changed. More...
 
const uint TICKET_CANCEL_CMD = 222
 Command to cancel issued ticket More...
 
const uint TICKET_MATCH = 223
 Internal push event to receive room ID from the server More...
 
const uint TICKET_BROADCAST = 224
 Broadcast among the matched users by ticket. More...
 
- Properties inherited from Diarkis.Modules.MatchMaker
string RoomID [get]
 Matchmaking room ID. If you have ReserveOnly flag true, you must use ClaimReserved to join the matchmaking room. Room ID can be passed to Room class instance to use as a game session room. More...
 
string TeamRoomID [get]
 Matchmaking room ID. If you have ReserveOnly flag true, you must use ClaimReserved to join the matchmaking room. Team room ID can be passed to Room class instance to use as a game session room. More...
 
string MatchmakingProfileID [get, set]
 Specifies which matchmaking profile to use for HostMatchmaking. This property is used by HostMatchmaking only. More...
 
string UID [get, set]
 Unique ID to be passed to matchmaking search results. This property is used by HostMatchmaking only. More...
 
Dictionary< string, uint > Properties [get, set]
 Matchmaking conditions. The properties must match the condition properties of Matchmaking profile specified by MatchmakingProfileID. More...
 
byte[] Metadata [get, set]
 Optional custom data to be passed to matchmaking search results. More...
 
ushort Time [get, set]
 TTL in seconds for the matchmaking to last if ReserveOnly is set to true. TTL will be disabled once the client uses ClaimReserved to claim the reserved matchmaking. This property is used by HostMatchmaking only. More...
 
ushort MaxMatchMembers [get, set]
 Maximum number of clients allowed to match for the matchmaking. This property is used by HostMatchmaking. When TeamMatchmaking is set to true, the value represents the number of teams rather than the number of indivisual user clients. The maximum number of indivisual user for team matchmaking is calculated as follows: MaxMatchMembers x Number of matched user clients of the host. More...
 
bool ReserveOnly [get, set]
 Creates a matchmaking, but reserve it for certain time without joining the matchmaking. This allows the client to create mutiple matchmakings at a time, but eventually the client must calim one of them by ClaimReserved. This property is used by HostMatchmaking only. More...
 
string Tag [get, set]
 Tag is used to isolate and group matchmaking users. It will narrow the matchmaking search to hosts with matching tag. More...
 

Detailed Description

MatchMaker client interface that uses Ws Diarkis client (WebSocket) for communication. MatchMaker class handles plethora of matchmaking features including Team formaing matchmaking and P2P matchmaking.

Member Function Documentation

◆ CancelTicket()

override void Diarkis.Modules.WsMatchMaker.CancelTicket ( byte  ticketType)
inlinevirtual

Cancels an issued ticket.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ ClaimReservedMatchmaking()

override void Diarkis.Modules.WsMatchMaker.ClaimReservedMatchmaking ( byte[]  message)
inlinevirtual

When you set ReserveOnlyto initiate HostMatchmaking, you must "join" the matchmaking room to be part of the matchmaking. Successful attempt raises OnMemberJoin event on all matched remote clients. OnJoinResponse event as a server response.

Parameters
messageMessage byte array to be sent to the other members of the matchmaking

Reimplemented from Diarkis.Modules.MatchMaker.

◆ ClearMatchmaking()

override void Diarkis.Modules.WsMatchMaker.ClearMatchmaking ( )
inlinevirtual

Clears the current matchmaking without discarding the matchmaking. The matched and joined user clients remain in the matchmaking. This will raise OnAbortMatchmakingResponse as a server response.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ ClearMatchmakingWS_()

void Diarkis.Modules.WsMatchMaker.ClearMatchmakingWS_ ( bool  halt,
byte[]  abortMessage 
)
inlineprotected
Parameters
haltIf set to true, the matchmaking will be halted but not discarded. If matchmaking is only halted (halt = true), the matchmaking itself is still instact, but will not be searchable by others. In order to make the matchmaking "searchable" again, use StartBackfill.

◆ Commit()

override void Diarkis.Modules.WsMatchMaker.Commit ( )
inlinevirtual

Commit instructs all the team members from the matchmaking to join the team matchmaking. When you commit, the previous matchmaking that formed the team will be discarded. All team member clients will raise OnCompleteCommit evevnt. Commited member clients will be able to receive synchonizing messages. This is only usable when team matchmaking is used.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ DisbandMatchmaking()

override void Diarkis.Modules.WsMatchMaker.DisbandMatchmaking ( byte[]  message)
inlinevirtual

Completely distroys the current matchmaking and kicks out the matched and joined user clients. OnDisbandMatchmaking will be raised on all matched clients.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ HostMatchmaking()

override bool Diarkis.Modules.WsMatchMaker.HostMatchmaking ( )
inlinevirtual

Registers itself to MatchMaker's matchmaking and wait until matches are made. You may abort matchmaking by calling ClearMatchmaking. You will become the host of this matchmaking. OnHostMatchmakingResponse will be raised as a server response.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ IssueTicket()

override void Diarkis.Modules.WsMatchMaker.IssueTicket ( byte  ticketType)
inlinevirtual

Sends a request issue a matchmaking ticket on the server. All matchmaking conditions and logic will be controlled on the server and the client will only be waiting for OnTicketComplete event to be raised. If the issued ticket fails to create a match, the event will be raised only on the client that issued the ticket. If the issued ticket successfully creates a match, the event will be raised on all the clients that have been matched.

Parameters
ticketTypeTicket type is a pre-define type of ticket that the user issues to attempt matchmaking. Ticket type is defined on the server and the user must use the valid ticket type that the server has pre-defined.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ JoinMatchmakingFromResult()

override void Diarkis.Modules.WsMatchMaker.JoinMatchmakingFromResult ( ResultItem  result,
byte[]  message 
)
inlinevirtual

Attempts to join a matched matchmaking from a search result. Successful attempt raises OnMemberJoin event on all matched remote clients. OnJoinResponse event as a server response.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ Kick()

override void Diarkis.Modules.WsMatchMaker.Kick ( string  userID)
inlinevirtual

Specify a matched user by its ID to forcefully kick out of the matchmaking. Only the host of the matchmaking may execute this operation. OnKick event is raised on all matched user clients including the kicked out user client.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ LeaveMatchmaking()

override void Diarkis.Modules.WsMatchMaker.LeaveMatchmaking ( byte[]  message)
inlinevirtual

Leaves the matchmaking and sends a message to the other members. OnMemberLeave event will be raised. OnLeaveResponse event will be raised as a server response.

Parameters
messageMessage byte array to be sent to the other members of the matchmaking.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ NotifyMatchmakingCompletion()

override void Diarkis.Modules.WsMatchMaker.NotifyMatchmakingCompletion ( )
inlinevirtual

Sends a notification to all matched clients to let them know that matchmaking has completed. This will also remove the matchmaking from searches. All matched clients will raise OnComplete event including the sender client. Only the client that started the matchmaking is allowed to use this function.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ Search()

override void Diarkis.Modules.WsMatchMaker.Search ( List< string >  profileIDs,
string  tag,
Dictionary< string, uint >  props,
bool  joinFlag,
ushort  howmany,
byte[]  message 
)
inlinevirtual

Actively search for matchmaking using multiple matchmaking profile IDs.

Parameters
profileIDsSearch allows you to search for a match using multiple matchmaking profiles. The order of the server is determined by the order of the ID list. You may, for example, search with very strict matchmaking profile and move to more relaxed ones etc.
tagSearch will target hosts only with matching tag.
propsSearch condition properties.
joinFlagIf set to false, search will send a list of matched result back to the client with OnResultsResponse event. If set to true, the client will automatically joins the matched matchmaking room and OnSearchResponse event will be raised.
homanyDetermine maximum how many matched results to expect by the search results.
messageMessage byte array to be sent to the other matched users.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ Setup()

bool Diarkis.Modules.WsMatchMaker.Setup ( Ws  ws)
inline

WsMatchmaker class must have an instance of Diarkis WebSocket class.

◆ StartBackfill()

override bool Diarkis.Modules.WsMatchMaker.StartBackfill ( string  roomID)
inlinevirtual

Registers the room of the Room ID passed to be backfilled via MatchMaker. This should be used when you are using Diarkis Room as your in-game session What is backfill? - Backfill allows other remote clients to join a room via MatchMaker while the original members of the room are already in a game session etc. where clients participate in the game play. Using backfill other remote clients may join the game session room directly via MatchMaker. OnMemberJoin will be raised as a new remote client joins. You may abort backfill by calling ClearMatchmaking.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ Sync()

override void Diarkis.Modules.WsMatchMaker.Sync ( byte[]  message)
inlinevirtual

Sends a synchronize message to all matched clients. This will raise OnMemberSync event including the sender client.

Parameters
messageMessage byte array to be sent as a synchronize message to the other matched clients.

Reimplemented from Diarkis.Modules.MatchMaker.

◆ TeamSearch()

override void Diarkis.Modules.WsMatchMaker.TeamSearch ( List< string >  profileIDs,
string  tag,
Dictionary< string, uint >  props,
bool  joinFlag,
ushort  howmany,
byte[]  message 
)
inlinevirtual

Actively search for team matchmaking using multiple matchmaking profile IDs.

Parameters
profileIDsSearch allows you to search for a match using multiple matchmaking profiles. The order of the server is determined by the order of the ID list. You may, for example, search with very strict matchmaking profile and move to more relaxed ones etc.
tagSearch will target hosts only with matching tag.
propsSearch condition properties.
joinFlagIf set to false, search will send a list of matched result back to the client with OnResultsResponse event. If set to true, the client will automatically joins the matched matchmaking room and OnSearchResponse event will be raised.
homanyDetermine maximum how many matched results to expect by the search results.
messageMessage byte array to be sent to the other matched users.

Reimplemented from Diarkis.Modules.MatchMaker.

Event Documentation

◆ OnAbortMatchmakingResponse

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnAbortMatchmakingResponse

Event raised by ClearMatchmakingHost method as the server response.

◆ OnBackfillStartResponse

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnBackfillStartResponse

Event raised as a server responmse to Backfill.

◆ OnCancelTicket

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnCancelTicket

Event raised when CancelTicket is invoked.

◆ OnCommitResponse

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnCommitResponse

Event raised as a server response to Commit.

◆ OnComplete

override NotificationHandler Diarkis.Modules.WsMatchMaker.OnComplete

Event raised when the matchmaking reachs its max members.

◆ OnCompleteCommit

override JoinResponseHandler Diarkis.Modules.WsMatchMaker.OnCompleteCommit

Event raised on the team member clients when Commit has been successfully executed.

◆ OnDisbandMatchmaking

override SyncHandler Diarkis.Modules.WsMatchMaker.OnDisbandMatchmaking

Event raised when the client started the matchmaking room aborts the matchmaking.

◆ OnHostChange

override IDSyncHandler Diarkis.Modules.WsMatchMaker.OnHostChange

Event raised when a matchmaking host is changed.

◆ OnHostMatchmakingResponse

override ResponseRoomIDHandler Diarkis.Modules.WsMatchMaker.OnHostMatchmakingResponse

Event raised by HostMatchmaking method as the server response.

◆ OnHostTeamMatchmakingResponse

override ResponseRoomIDHandler Diarkis.Modules.WsMatchMaker.OnHostTeamMatchmakingResponse

Event raised by HostTeamMatchmaking method as the server response.

◆ OnJoinResponse

override JoinResponseHandler Diarkis.Modules.WsMatchMaker.OnJoinResponse

Event raised as the server resonse when you claim the reserved matchmaking.

◆ OnKick

override IDSyncHandler Diarkis.Modules.WsMatchMaker.OnKick

Raised when a matched user is kicked out of the matchmaking by the host.

◆ OnKickResponse

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnKickResponse

Raised as a server response when executing user kick.

◆ OnLeaveResponse

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnLeaveResponse

Event raised as the server response when you leave the matchmaking.

◆ OnMemberJoin

override SyncHandler Diarkis.Modules.WsMatchMaker.OnMemberJoin

Evnt raised when another client matches and joins with a message.

◆ OnMemberLeave

override SyncHandler Diarkis.Modules.WsMatchMaker.OnMemberLeave

Event raised when other client matched leaves the matchmaking with a message.

◆ OnMemberSync

override SyncHandler Diarkis.Modules.WsMatchMaker.OnMemberSync

Event raised when other client matched sends out synchronizing message.

◆ OnResultsResponse

override ResultsHandler Diarkis.Modules.WsMatchMaker.OnResultsResponse

Event raised when the matchmaking search on the server finishes and sends the results. This event is raised only when join is set to false.

◆ OnSearchResponse

override JoinResponseHandler Diarkis.Modules.WsMatchMaker.OnSearchResponse

Event raised when the matchmaking search on the server finishes. This event is raised only when join is set to true.

◆ OnTeamResultsResponse

override ResultsHandler Diarkis.Modules.WsMatchMaker.OnTeamResultsResponse

Event raised when the team matchmaking search on the server finishes and sends the results. This event is raised only when join is set to false.

◆ OnTeamSearchResponse

override JoinResponseHandler Diarkis.Modules.WsMatchMaker.OnTeamSearchResponse

Event raised when the team matchmaking search on the server finishes. This event is raised only when join is set to true.

◆ OnTicketComplete

override ResponseHandler Diarkis.Modules.WsMatchMaker.OnTicketComplete

Event raised when a ticket issed by IssueTicket finishes (success/failure).


The documentation for this class was generated from the following file: