This commit is contained in:
2020-09-05 17:27:45 -04:00
parent 5696ac5574
commit 5cbc0100d8

View File

@ -101,16 +101,10 @@ func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB
for _, precense := range presences { for _, precense := range presences {
logger.Info("Starting join logic...")
// Add presence to map // Add presence to map
mState.presences[precense.GetUserId()] = precense mState.presences[precense.GetUserId()] = precense
logger.Info("Added precense to list")
player, loadPlayerErr := entities.LoadPlayer(ctx, nk, precense) player, loadPlayerErr := entities.LoadPlayer(ctx, nk, precense)
logger.Info("Ran loadplayer method!")
if loadPlayerErr != nil { if loadPlayerErr != nil {
logger.Error(loadPlayerErr.Error()) logger.Error(loadPlayerErr.Error())
player = &entities.PlayerEntity{ player = &entities.PlayerEntity{
@ -120,14 +114,9 @@ func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB
Presence: precense, Presence: precense,
} }
} else { } else {
if player != nil {
player.X = 16 player.X = 16
player.Y = 16 player.Y = 16
} else {
logger.Error("Tried to access nil player object!")
} }
}
logger.Info("Successfully loaded player object from storage!")
if jsonObj, err := player.GetPosJSON(); err != nil { if jsonObj, err := player.GetPosJSON(); err != nil {
logger.Error(err.Error()) logger.Error(err.Error())
@ -142,9 +131,9 @@ func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB
logger.Error(sendErr.Error()) logger.Error(sendErr.Error())
} }
} }
logger.Info("Successfully sent player state and location!")
mState.players[precense.GetUserId()] = *player mState.players[precense.GetUserId()] = *player
logger.Info(fmt.Sprintf("%s joined the match!", player.Presence.GetUsername()))
// Get intial tile data around player // Get intial tile data around player
if regionData, err := mState.worldMap.GetJSONRegionAround(player.X, player.Y, maxRenderDistance); err != nil { if regionData, err := mState.worldMap.GetJSONRegionAround(player.X, player.Y, maxRenderDistance); err != nil {
@ -157,8 +146,6 @@ func (m *Match) MatchJoin(ctx context.Context, logger runtime.Logger, db *sql.DB
} }
} }
logger.Info("Successfully send intial tile data to connected players")
for _, otherPlayer := range mState.players { for _, otherPlayer := range mState.players {
// Broadcast player data to client // Broadcast player data to client
if jsonObj, err := otherPlayer.GetPosJSON(); err != nil { if jsonObj, err := otherPlayer.GetPosJSON(); err != nil {
@ -201,7 +188,7 @@ func (m *Match) MatchLoop(ctx context.Context, logger runtime.Logger, db *sql.DB
for _, message := range messages { for _, message := range messages {
if message.GetOpCode() == OpCodeUpdatePosition { if message.GetOpCode() == OpCodeUpdatePosition {
player := mState.players[message.GetUserId()] player := mState.players[message.GetUserId()]
if player.Presence != nil {
if response, err := player.ParsePositionRequest(message.GetData()); err == nil { if response, err := player.ParsePositionRequest(message.GetData()); err == nil {
player.UpdateBasedOnResponse(response) player.UpdateBasedOnResponse(response)
if jsonObject, err := player.GetPosJSON(); err == nil { if jsonObject, err := player.GetPosJSON(); err == nil {
@ -212,6 +199,9 @@ func (m *Match) MatchLoop(ctx context.Context, logger runtime.Logger, db *sql.DB
} else { } else {
logger.Error(fmt.Sprintf("Failed to parse update pos request: %s", err.Error)) logger.Error(fmt.Sprintf("Failed to parse update pos request: %s", err.Error))
} }
} else {
logger.Warn(fmt.Sprintf("Attempted to update the position of a player (%s) that does not exist", message.GetUsername()))
}
} }
} }
return mState return mState