fix: Proper player rotation when moving between rooms
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user