fix: Proper player rotation when moving between rooms

This commit is contained in:
2025-12-31 23:32:52 +01:00
parent ae07a848bf
commit 1c72622726
2 changed files with 5 additions and 1 deletions

View File

@@ -77,6 +77,7 @@ public class PlayerMoveEventHandler extends AbstractEventHandler<PlayerMoveEvent
case 'w' -> { case 'w' -> {
if (originalPlayerY <= 10) { if (originalPlayerY <= 10) {
if (originalPlayerX >= 80 && originalPlayerX <= 105) { if (originalPlayerX >= 80 && originalPlayerX <= 105) {
player.setPlayerRotation(Player.PlayerRotation.BACK);
eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.TOP)); eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.TOP));
} }
return; return;
@@ -87,6 +88,7 @@ public class PlayerMoveEventHandler extends AbstractEventHandler<PlayerMoveEvent
case 'a' -> { case 'a' -> {
if (originalPlayerX <= 30) { if (originalPlayerX <= 30) {
if (originalPlayerY >= 35 && originalPlayerY <= 65) { if (originalPlayerY >= 35 && originalPlayerY <= 65) {
player.setPlayerRotation(Player.PlayerRotation.LEFT);
eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.LEFT)); eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.LEFT));
} }
return; return;
@@ -97,6 +99,7 @@ public class PlayerMoveEventHandler extends AbstractEventHandler<PlayerMoveEvent
case 's' -> { case 's' -> {
if (originalPlayerY >= 110) { if (originalPlayerY >= 110) {
if (originalPlayerX >= 75 && originalPlayerX <= 105) { if (originalPlayerX >= 75 && originalPlayerX <= 105) {
player.setPlayerRotation(Player.PlayerRotation.FRONT);
eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.BOTTOM)); eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.BOTTOM));
} }
return; return;
@@ -107,6 +110,7 @@ public class PlayerMoveEventHandler extends AbstractEventHandler<PlayerMoveEvent
case 'd' -> { case 'd' -> {
if (originalPlayerX >= 155) { if (originalPlayerX >= 155) {
if (originalPlayerY >= 40 && originalPlayerY <= 60) { if (originalPlayerY >= 40 && originalPlayerY <= 60) {
player.setPlayerRotation(Player.PlayerRotation.RIGHT);
eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.RIGHT)); eventManager.emitEvent(new RoomChangeEvent(FullRoomDrawHandler.DoorPosition.RIGHT));
} }
return; return;

View File

@@ -92,7 +92,7 @@ public class DependencyManager {
} catch (InstantiationException | InvocationTargetException | IllegalAccessException e) { } catch (InstantiationException | InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
break; // Found a matching constructor, go to next class break; // Found a matching constructor, go to the next class
} }
} }