Skip to content

Commit

Permalink
Center tilemap in more examples and rename some vars for consistency
Browse files Browse the repository at this point in the history
  • Loading branch information
rparrett committed Dec 11, 2022
1 parent 50af180 commit 83dc62d
Show file tree
Hide file tree
Showing 19 changed files with 113 additions and 99 deletions.
14 changes: 7 additions & 7 deletions examples/animation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,20 +69,20 @@ fn create_animated_flowers(mut commands: Commands, asset_server: Res<AssetServer
let texture_handle: Handle<Image> = asset_server.load(FLOWERS);

let TilemapMetadata {
size,
size: map_size,
grid_size,
tile_size,
} = FLOWERS_METADATA;

let mut tile_storage = TileStorage::empty(size);
let mut tile_storage = TileStorage::empty(map_size);

let tilemap_entity = commands.spawn_empty().id();

// Choose 10 random tiles to contain flowers.
let mut rng = thread_rng();
let mut indices: Vec<(u32, u32)> = Vec::with_capacity((size.x * size.y) as usize);
for x in 0..size.x {
for y in 0..size.y {
let mut indices: Vec<(u32, u32)> = Vec::with_capacity((map_size.x * map_size.y) as usize);
for x in 0..map_size.x {
for y in 0..map_size.y {
indices.push((x, y));
}
}
Expand Down Expand Up @@ -110,13 +110,13 @@ fn create_animated_flowers(mut commands: Commands, asset_server: Res<AssetServer
let map_type = TilemapType::Square;

commands.entity(tilemap_entity).insert(TilemapBundle {
size,
size: map_size,
grid_size,
map_type,
tile_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
transform: get_tilemap_center_transform(&size, &grid_size, &map_type, 1.0),
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 1.0),
..Default::default()
});
}
Expand Down
12 changes: 6 additions & 6 deletions examples/basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fn startup(

let texture_handle: Handle<Image> = asset_server.load("tiles.png");

let tilemap_size = TilemapSize { x: 32, y: 32 };
let map_size = TilemapSize { x: 32, y: 32 };

// Create a tilemap entity a little early.
// We want this entity early because we need to tell each tile which tilemap entity
Expand All @@ -27,12 +27,12 @@ fn startup(
// This component is a grid of tile entities and is used to help keep track of individual
// tiles in the world. If you have multiple layers of tiles you would have a tilemap entity
// per layer, each with their own `TileStorage` component.
let mut tile_storage = TileStorage::empty(tilemap_size);
let mut tile_storage = TileStorage::empty(map_size);

// Spawn the elements of the tilemap.
// Alternatively, you can use helpers::filling::fill_tilemap.
for x in 0..tilemap_size.x {
for y in 0..tilemap_size.y {
for x in 0..map_size.x {
for y in 0..map_size.y {
let tile_pos = TilePos { x, y };
let tile_entity = commands
.spawn(TileBundle {
Expand All @@ -52,11 +52,11 @@ fn startup(
commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
map_type,
size: tilemap_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
transform: get_tilemap_center_transform(&tilemap_size, &grid_size, &map_type, 0.0),
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});

Expand Down
10 changes: 5 additions & 5 deletions examples/bench.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {

let texture_handle: Handle<Image> = asset_server.load("tiles.png");

let tilemap_size = TilemapSize { x: 1280, y: 1280 };
let mut tile_storage = TileStorage::empty(tilemap_size);
let map_size = TilemapSize { x: 1280, y: 1280 };
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();

fill_tilemap(
TileTextureIndex(0),
tilemap_size,
map_size,
TilemapId(tilemap_entity),
&mut commands,
&mut tile_storage,
Expand All @@ -30,11 +30,11 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
map_type,
size: tilemap_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
transform: get_tilemap_center_transform(&tilemap_size, &grid_size, &map_type, 0.0),
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});
}
Expand Down
8 changes: 5 additions & 3 deletions examples/colors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
let texture_handle: Handle<Image> = asset_server.load("tiles.png");

// In total, there will be `(QUADRANT_SIDE_LENGTH * 2) * (QUADRANT_SIDE_LENGTH * 2)` tiles.
let total_size = TilemapSize {
let map_size = TilemapSize {
x: QUADRANT_SIDE_LENGTH * 2,
y: QUADRANT_SIDE_LENGTH * 2,
};
Expand All @@ -21,7 +21,7 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
y: QUADRANT_SIDE_LENGTH,
};

let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

Expand Down Expand Up @@ -76,14 +76,16 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {

let tile_size = TilemapTileSize { x: 16.0, y: 16.0 };
let grid_size = tile_size.into();
let map_type = TilemapType::default();

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
map_type: TilemapType::Square,
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});
}
Expand Down
8 changes: 4 additions & 4 deletions examples/frustum_cull_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,19 +61,19 @@ fn spawn_assets(mut commands: Commands, asset_server: Res<AssetServer>) {
fn spawn_tilemap(mut commands: Commands, tile_handle_square: Res<TileHandleSquare>) {
commands.spawn(Camera2dBundle::default());

let total_size = TilemapSize {
let map_size = TilemapSize {
// Render chunks are of size 64, so let's create two render chunks
x: MAP_SIDE_LENGTH_X * 2,
y: MAP_SIDE_LENGTH_Y,
};

let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

fill_tilemap(
TileTextureIndex(0),
total_size,
map_size,
tilemap_id,
&mut commands,
&mut tile_storage,
Expand All @@ -84,7 +84,7 @@ fn spawn_tilemap(mut commands: Commands, tile_handle_square: Res<TileHandleSquar

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(tile_handle_square.clone()),
tile_size,
Expand Down
12 changes: 6 additions & 6 deletions examples/game_of_life.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {

let texture_handle: Handle<Image> = asset_server.load("tiles.png");

let tilemap_size = TilemapSize { x: 32, y: 32 };
let mut tile_storage = TileStorage::empty(tilemap_size);
let map_size = TilemapSize { x: 32, y: 32 };
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();

let mut i = 0;
for x in 0..tilemap_size.x {
for y in 0..tilemap_size.y {
for x in 0..map_size.x {
for y in 0..map_size.y {
let tile_pos = TilePos { x, y };
let tile_entity = commands
.spawn(TileBundle {
Expand All @@ -39,11 +39,11 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
.insert(TilemapBundle {
grid_size,
map_type,
size: tilemap_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
transform: get_tilemap_center_transform(&tilemap_size, &grid_size, &map_type, 0.0),
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
})
.insert(LastUpdate(0.0));
Expand Down
8 changes: 4 additions & 4 deletions examples/hex_neighbors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,18 @@ fn spawn_assets(mut commands: Commands, asset_server: Res<AssetServer>) {
fn spawn_tilemap(mut commands: Commands, tile_handle_hex_row: Res<TileHandleHexRow>) {
commands.spawn(Camera2dBundle::default());

let total_size = TilemapSize {
let map_size = TilemapSize {
x: MAP_SIDE_LENGTH_X,
y: MAP_SIDE_LENGTH_Y,
};

let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

fill_tilemap(
TileTextureIndex(0),
total_size,
map_size,
tilemap_id,
&mut commands,
&mut tile_storage,
Expand All @@ -71,7 +71,7 @@ fn spawn_tilemap(mut commands: Commands, tile_handle_hex_row: Res<TileHandleHexR

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(tile_handle_hex_row.clone()),
tile_size,
Expand Down
10 changes: 6 additions & 4 deletions examples/hexagon_column.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
let texture_handle: Handle<Image> = asset_server.load("flat_hex_tiles.png");

// In total, there will be `(QUADRANT_SIDE_LENGTH * 2) * (QUADRANT_SIDE_LENGTH * 2)` tiles.
let total_size = TilemapSize {
let map_size = TilemapSize {
x: QUADRANT_SIDE_LENGTH * 2,
y: QUADRANT_SIDE_LENGTH * 2,
};
Expand All @@ -21,7 +21,7 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
y: QUADRANT_SIDE_LENGTH,
};

let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

Expand Down Expand Up @@ -72,14 +72,16 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {

let tile_size = TilemapTileSize { x: 17.0, y: 15.0 };
let grid_size = TilemapGridSize { x: 17.0, y: 15.0 };
let map_type = TilemapType::Hexagon(HexCoordSystem::Column);

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
map_type: TilemapType::Hexagon(HexCoordSystem::Column),
map_type,
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});
}
Expand Down
10 changes: 6 additions & 4 deletions examples/hexagon_generation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ fn spawn_assets(mut commands: Commands, asset_server: Res<AssetServer>) {
fn spawn_tilemap(mut commands: Commands, tile_handle_hex_row: Res<TileHandleHexRow>) {
commands.spawn(Camera2dBundle::default());

let total_size = TilemapSize {
let map_size = TilemapSize {
x: MAP_SIDE_LENGTH,
y: MAP_SIDE_LENGTH,
};

let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

Expand All @@ -72,14 +72,16 @@ fn spawn_tilemap(mut commands: Commands, tile_handle_hex_row: Res<TileHandleHexR

let tile_size = TILE_SIZE_HEX_ROW;
let grid_size = GRID_SIZE_HEX_ROW;
let map_type = TilemapType::Hexagon(hex_coord_system);

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(tile_handle_hex_row.clone()),
tile_size,
map_type: TilemapType::Hexagon(hex_coord_system),
map_type,
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});
}
Expand Down
10 changes: 6 additions & 4 deletions examples/hexagon_row.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
let texture_handle: Handle<Image> = asset_server.load("pointy_hex_tiles.png");

// In total, there will be `(QUADRANT_SIDE_LENGTH * 2) * (QUADRANT_SIDE_LENGTH * 2)` tiles.
let total_size = TilemapSize {
let map_size = TilemapSize {
x: QUADRANT_SIDE_LENGTH * 2,
y: QUADRANT_SIDE_LENGTH * 2,
};
Expand All @@ -20,7 +20,7 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
y: QUADRANT_SIDE_LENGTH,
};

let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

Expand Down Expand Up @@ -71,14 +71,16 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {

let tile_size = TilemapTileSize { x: 15.0, y: 17.0 };
let grid_size = TilemapGridSize { x: 15.0, y: 17.0 };
let map_type = TilemapType::Hexagon(HexCoordSystem::Row);

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
map_type: TilemapType::Hexagon(HexCoordSystem::Row),
map_type,
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});
}
Expand Down
10 changes: 6 additions & 4 deletions examples/iso_diamond.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
let texture_handle: Handle<Image> = asset_server.load("iso_color.png");

// In total, there will be `(QUADRANT_SIDE_LENGTH * 2) * (QUADRANT_SIDE_LENGTH * 2)` tiles.
let total_size = TilemapSize {
let map_size = TilemapSize {
x: QUADRANT_SIDE_LENGTH * 2,
y: QUADRANT_SIDE_LENGTH * 2,
};
let quadrant_size = TilemapSize {
x: QUADRANT_SIDE_LENGTH,
y: QUADRANT_SIDE_LENGTH,
};
let mut tile_storage = TileStorage::empty(total_size);
let mut tile_storage = TileStorage::empty(map_size);
let tilemap_entity = commands.spawn_empty().id();
let tilemap_id = TilemapId(tilemap_entity);

Expand Down Expand Up @@ -72,14 +72,16 @@ fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {

let tile_size = TilemapTileSize { x: 64.0, y: 32.0 };
let grid_size = tile_size.into();
let map_type = TilemapType::Isometric(IsoCoordSystem::Diamond);

commands.entity(tilemap_entity).insert(TilemapBundle {
grid_size,
size: total_size,
size: map_size,
storage: tile_storage,
texture: TilemapTexture::Single(texture_handle),
tile_size,
map_type: TilemapType::Isometric(IsoCoordSystem::Diamond),
map_type,
transform: get_tilemap_center_transform(&map_size, &grid_size, &map_type, 0.0),
..Default::default()
});
}
Expand Down
Loading

0 comments on commit 83dc62d

Please sign in to comment.