public void Move(Direction direction) { PositionComponent position = Player.GetComponent <PositionComponent>(); switch (direction) { case Direction.Up: if (CurrentMap.MapNorth != null) { position.Set(position.Position.X, CurrentMap.MapNorth.PixelHeight - 1); //position.SubTileY = 1; Set(CurrentMap.MapNorth.ID); } break; case Direction.Down: if (CurrentMap.MapSouth != null) { position.Set(position.Position.X, 0); //position.SubTileY = -1; Set(CurrentMap.MapSouth.ID); } break; case Direction.Left: if (CurrentMap.MapWest != null) { position.Set(CurrentMap.MapWest.PixelWidth - 1, position.Position.Y); //position.SubTileX = 1; Set(CurrentMap.MapWest.ID); } break; case Direction.Right: if (CurrentMap.MapEast != null) { position.Set(0, position.Position.Y); //position.SubTileX = -1; Set(CurrentMap.MapEast.ID); } break; } }