Valid state assertions pass
This commit is contained in:
parent
641da4ba56
commit
1f12e916c3
@ -39,7 +39,11 @@ func (m *Match) MatchInit(ctx context.Context, logger runtime.Logger, db *sql.DB
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *Match) MatchJoinAttempt(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, presence runtime.Presence, metadata map[string]string) (interface{}, bool, string) {
|
func (m *Match) MatchJoinAttempt(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, presence runtime.Presence, metadata map[string]string) (interface{}, bool, string) {
|
||||||
mState, _ := state.(*MatchState)
|
mState, ok := state.(*MatchState)
|
||||||
|
if !ok {
|
||||||
|
logger.Error("Invalid match state on join attempt!")
|
||||||
|
return state, false, "Invalid match state!"
|
||||||
|
}
|
||||||
if _, ok := mState.presences[presence.GetUserId()]; ok {
|
if _, ok := mState.presences[presence.GetUserId()]; ok {
|
||||||
return mState, false, "User already logged in."
|
return mState, false, "User already logged in."
|
||||||
} else {
|
} else {
|
||||||
@ -49,7 +53,11 @@ func (m *Match) MatchJoinAttempt(ctx context.Context, logger runtime.Logger, db
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, presences []runtime.Presence) interface{} {
|
func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, presences []runtime.Presence) interface{} {
|
||||||
mState, _ := state.(*MatchState)
|
mState, ok := state.(*MatchState)
|
||||||
|
if !ok {
|
||||||
|
logger.Error("Invalid match state on join!")
|
||||||
|
return state, false, "Invalid match state!"
|
||||||
|
}
|
||||||
for _, precense := range presences {
|
for _, precense := range presences {
|
||||||
mState.presences[precense.GetUserId()] = precense
|
mState.presences[precense.GetUserId()] = precense
|
||||||
|
|
||||||
@ -71,7 +79,11 @@ func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *Match) MatchLeave(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, presences []runtime.Presence) interface{} {
|
func (m *Match) MatchLeave(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, presences []runtime.Presence) interface{} {
|
||||||
mState, _ := state.(*MatchState)
|
mState, ok := state.(*MatchState)
|
||||||
|
if !ok {
|
||||||
|
logger.Error("Invalid match state on leave!")
|
||||||
|
return state
|
||||||
|
}
|
||||||
for _, presence := range presences {
|
for _, presence := range presences {
|
||||||
delete(mState.presences, presence.GetUserId())
|
delete(mState.presences, presence.GetUserId())
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user