public void OnRoomEnter(World world, Character character) { if (!hasBeenEntered) { hasBeenEntered = true; roomLogic?.OnRoomEnter(world, this, character); for (int i = 0; i < roomSides.Length; i++) { if (roomSides[i] == RoomSide.OPEN) { world.GetRoom(RoomPosition + Position.directions[i]).OnRoomEnter(world, character); } } } }