Files
tma-back/controllers/players.go
2026-01-14 23:10:23 +03:00

44 lines
695 B
Go

package controllers
import (
"server/models"
"github.com/gorilla/websocket"
)
func (h *Hub) handShake(msg []byte, conn *websocket.Conn) *models.Player {
reader := models.NewReader(msg)
newID := reader.ReadU32()
name := reader.ReadString()
player := &models.Player{
Entity: models.Entity{
Type: models.EntityPlayer,
ID: newID,
},
Name: name,
Conn: conn,
}
h.Mu.Lock()
h.Players[player.ID] = player
h.Mu.Unlock()
return player
}
func (h *Hub) updatePosition(x, y float32, player *models.Player) {
h.Mu.Lock()
defer h.Mu.Unlock()
player.X = x
player.Y = y
}
func (h *Hub) removePlayer(id uint32) {
h.Mu.Lock()
defer h.Mu.Unlock()
delete(h.Players, id)
}