feat: Store player rotation

This commit is contained in:
2026-02-03 09:54:23 +01:00
parent 1f54e933ad
commit f6de75afd9
5 changed files with 42 additions and 3 deletions

View File

@@ -22,7 +22,18 @@ public class MovePlayerRoomHandler extends AbstractEventHandler<MovePlayerRoom>
public void handle(MovePlayerRoom event, Client client) {
String oldRoomId = client.getPlayer().getCurrentRoom();
client.getSession().sendMessage(new MovePlayerRoomResponse(client.getGame().getPlayers().stream().filter(player -> player.getPlayer().getCurrentRoom().equals(event.newRoomId())).map(client1 -> client1.getPlayer().getId()).collect(Collectors.toSet())));
client.getSession().sendMessage(new MovePlayerRoomResponse(
client.getGame().getPlayers().stream().filter(player ->
player.getPlayer().getCurrentRoom().equals(event.newRoomId())
).map(client1 ->
new MovePlayerRoomResponse.Registry(
client1.getPlayer().getId(),
client1.getPlayer().getCords(),
client1.getPlayer().getPlayerRotation()
)
).collect(Collectors.toSet())
));
client.getPlayer().setCurrentRoom(event.newRoomId());
for (Client player : client.getGame().getPlayers()) {

View File

@@ -16,6 +16,7 @@ public class PlayerMoveHandler extends AbstractEventHandler<PlayerMove> {
@Override
public void handle(PlayerMove event, Client client) {
client.getPlayer().getCords().updateCords(event.newCords());
client.getPlayer().setPlayerRotation(event.playerRotation());
for (Client player : client.getGame().getPlayers()) {
if (player.getPlayer().getCurrentRoom().equals(client.getPlayer().getCurrentRoom()) && player.getPlayer().getId() != client.getPlayer().getId()) {

View File

@@ -2,6 +2,7 @@ package cz.jzitnik.server.game;
import cz.jzitnik.common.models.coordinates.RoomCords;
import cz.jzitnik.common.models.player.PlayerCreation;
import cz.jzitnik.common.socket.messages.player.PlayerRotation;
import lombok.Getter;
import lombok.Setter;
@@ -10,11 +11,14 @@ public class Player {
private final int id;
private final RoomCords cords;
@Setter
private PlayerRotation playerRotation;
@Setter
private String currentRoom;
public Player(PlayerCreation creation) {
id = creation.getId();
cords = creation.getPlayerCords();
playerRotation = PlayerRotation.FRONT;
}
public PlayerCreation toPlayerCreation() {