Fix movement on other player
This commit is contained in:
parent
5c5040cd42
commit
63e3837441
@ -7,6 +7,6 @@ const (
|
|||||||
MapHeight = 50
|
MapHeight = 50
|
||||||
TileSize = 32
|
TileSize = 32
|
||||||
TileHeight = 2.0
|
TileHeight = 2.0
|
||||||
TickRate = 2600 * time.Millisecond // Server tick rate (600ms)
|
TickRate = 600 * time.Millisecond // Server tick rate (600ms)
|
||||||
serverAddr = "localhost:6969"
|
serverAddr = "localhost:6969"
|
||||||
)
|
)
|
||||||
|
1
goonserver
Submodule
1
goonserver
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 1d6d3ab2eadf488d6ec0e5ba85005b3e57e372ea
|
12
network.go
12
network.go
@ -97,14 +97,13 @@ func HandleServerCommunication(conn net.Conn, playerID int32, player *Player, ot
|
|||||||
for _, state := range serverMessage.Players {
|
for _, state := range serverMessage.Players {
|
||||||
if state.PlayerId != playerID {
|
if state.PlayerId != playerID {
|
||||||
if otherPlayer, exists := otherPlayers[state.PlayerId]; exists {
|
if otherPlayer, exists := otherPlayers[state.PlayerId]; exists {
|
||||||
otherPlayer.PosTile = Tile{X: int(state.X), Y: int(state.Y)}
|
// Instead of directly setting position, set up path for smooth movement
|
||||||
otherPlayer.PosActual = rl.Vector3{
|
targetTile := Tile{X: int(state.X), Y: int(state.Y)}
|
||||||
X: float32(state.X * TileSize),
|
if otherPlayer.PosTile != targetTile {
|
||||||
Y: float32(state.Y * TileHeight),
|
otherPlayer.TargetPath = []Tile{targetTile}
|
||||||
Z: float32(state.Y * TileSize),
|
|
||||||
}
|
}
|
||||||
otherPlayer.MoveTowards(Tile{X: int(state.X), Y: int(state.Y)}, 0)
|
|
||||||
} else {
|
} else {
|
||||||
|
// Initialize new player
|
||||||
otherPlayers[state.PlayerId] = &Player{
|
otherPlayers[state.PlayerId] = &Player{
|
||||||
PosTile: Tile{X: int(state.X), Y: int(state.Y)},
|
PosTile: Tile{X: int(state.X), Y: int(state.Y)},
|
||||||
PosActual: rl.Vector3{
|
PosActual: rl.Vector3{
|
||||||
@ -113,6 +112,7 @@ func HandleServerCommunication(conn net.Conn, playerID int32, player *Player, ot
|
|||||||
Z: float32(state.Y * TileSize),
|
Z: float32(state.Y * TileSize),
|
||||||
},
|
},
|
||||||
ID: state.PlayerId,
|
ID: state.PlayerId,
|
||||||
|
Speed: 50.0, // Make sure to set the speed for smooth movement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user