Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GameServerDispatch ¶
type GameServerDispatch interface {
Dispatch(ctx context.Context, gameMode constant.GameMode, modeVersion int64) (info pto.GameServerInfo, err error)
}
GameServerDispatch dispatches game server info base on game mode and mode version.
type Match ¶
type Match interface { // CreateGroup creates a new group with the given parameters CreateGroup(ctx context.Context, param *pto.CreateGroup) (entry.Group, error) // EnterGroup makes the player join the existed group with the given groupID EnterGroup(ctx context.Context, info *pto.EnterGroup, groupID int64) error // ExitGroup makes the player leave the group ExitGroup(ctx context.Context, uid string) error // DissolveGroup dissolves a group and remove all players of the group DissolveGroup(ctx context.Context, uid string) error // Invite invites the invitee to join the group Invite(ctx context.Context, inviterUID, inviteeUID string) error // AcceptInvite accepts the invite and enter the group AcceptInvite(ctx context.Context, inviterUID string, inviteeInfo *pto.PlayerInfo, groupID int64) error // RefuseInvite refuses the invite from the inviter RefuseInvite(ctx context.Context, inviterUID, inviteeUID string, groupID int64, refuseMsg string) // KickPlayer kicks the kicked player from the group KickPlayer(ctx context.Context, captainUID, kickedUID string) error // ChangeRole changes the role of the target player ChangeRole(ctx context.Context, captainUID, targetUID string, role entry.GroupRole) error // SetNearbyJoinGroup sets whether the group can be joined by nearby players SetNearbyJoinGroup(ctx context.Context, captainUID string, allow bool) error // SetRecentJoinGroup sets whether the group can be joined by recent players SetRecentJoinGroup(ctx context.Context, captainUID string, allow bool) error // SetVoiceState sets whether the player can speak in the group SetVoiceState(ctx context.Context, uid string, state entry.PlayerVoiceState) error // Ready marks the player as ready Ready(ctx context.Context, uid string) error // UnReady marks the player as unready Unready(ctx context.Context, uid string) error // StartMatch starts to add the group to matching queue StartMatch(ctx context.Context, captainUID string) error // CancelMatch cancels the match and return `entry.GroupStateInvite` state CancelMatch(ctx context.Context, uid string) error // ExitGame exits the game (escape) ExitGame(ctx context.Context, uid string, roomID int64) error // UploadPlayerAttr uploads player attributes UploadPlayerAttr(ctx context.Context, uid string, attrs *pto.UploadPlayerAttr) error // HandleMatchResult handles the match result HandleMatchResult(r entry.Room) // HandleGameResult handles the game result HandleGameResult(result *pto.GameResult) error }
type Push ¶
type Push interface { // PushPlayerOnlineState pushes the player's online state to the client. PushPlayerOnlineState(ctx context.Context, uids []string, state entry.PlayerOnlineState) // PushGroupInfo pushes the group's players infos to the client. PushGroupInfo(ctx context.Context, uids []string, users *pto.GroupInfo) // PushInviteMsg pushes the invite message to the client. PushInviteMsg(ctx context.Context, param *pto.InviteMsg) // PushAcceptInvite pushes the accept invite message to the client. PushAcceptInvite(ctx context.Context, inviter, invitee string) // PushRefuseInvite pushes the refuse invite message to the client. PushRefuseInvite(ctx context.Context, inviter, invitee, refuseMsg string) // PushGroupDissolve pushes the group dissolve message to the client. PushGroupDissolve(ctx context.Context, uids []string, groupID int64) // PushGroupState pushes the group state to the client. PushGroupState(ctx context.Context, uids []string, groupID int64, state entry.GroupState) // PushVoiceState pushes the voice state to the client. PushVoiceState(ctx context.Context, uids []string, states *pto.UserVoiceState) // PushKick pushes the kick message to the client. PushKick(ctx context.Context, uid string, groupID int64) // PushMatchInfo pushes the match success info to the client. PushMatchInfo(ctx context.Context, uids []string, info *pto.MatchInfo) // PushCancelMatch pushes the cancel match message to the client. PushCancelMatch(ctx context.Context, uids []string, cancelUID string) // PushReady pushes the ready message to the client. PushReady(ctx context.Context, uids []string, readyUID string) // PushUnReady pushes the unready message to the client. PushUnReady(ctx context.Context, uids []string, unreadyUID string) }
Push pushes the message to the client.
Click to show internal directories.
Click to hide internal directories.