Skip to content

Commit

Permalink
fixed tile map drawing + removed redundant code
Browse files Browse the repository at this point in the history
  • Loading branch information
mrDIMAS committed Jul 7, 2024
1 parent 864c7a7 commit 254aee7
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 44 deletions.
6 changes: 3 additions & 3 deletions editor/src/plugins/tilemap/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -167,13 +167,13 @@ impl InteractionMode for TileMapInteractionMode {

if self.interaction_context.is_some() {
let brush = self.brush.lock();
for tile in brush.tiles.iter() {
let position = grid_coord + tile.local_position;
for brush_tile in brush.tiles.iter() {
let position = grid_coord + brush_tile.local_position;
tile_map.insert_tile(
position,
Tile {
position,
definition_index: tile.definition_index,
definition_index: brush_tile.definition_index,
},
)
}
Expand Down
7 changes: 5 additions & 2 deletions editor/src/plugins/tilemap/palette.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ impl PaletteWidget {

for tile in tiles.iter_mut() {
tile.local_position -= origin;
// Flip the position, because world's coordinate system is X-left Y-up, but palette has
// X-right Y-down.
tile.local_position = -tile.local_position;
}

TileMapBrush { tiles }
Expand Down Expand Up @@ -360,11 +363,11 @@ impl Control for TileView {
),
Vector2::new(
tile_definition.uv_rect.position.x + tile_definition.uv_rect.size.x,
tile_definition.uv_rect.position.y - tile_definition.uv_rect.size.y,
tile_definition.uv_rect.position.y + tile_definition.uv_rect.size.y,
),
Vector2::new(
tile_definition.uv_rect.position.x,
tile_definition.uv_rect.position.y - tile_definition.uv_rect.size.y,
tile_definition.uv_rect.position.y + tile_definition.uv_rect.size.y,
),
]),
);
Expand Down
2 changes: 1 addition & 1 deletion editor/src/plugins/tilemap/panel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ impl TileMapPanel {
.iter()
.enumerate()
.map(|(index, _tile)| {
let side_size = 10;
let side_size = 11;

TileViewBuilder::new(tile_set_resource.clone(), WidgetBuilder::new())
.with_definition_index(index)
Expand Down
42 changes: 4 additions & 38 deletions fyrox-impl/src/scene/tilemap/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
pub mod tileset;

use crate::{
asset::untyped::ResourceKind,
core::{
algebra::{Vector2, Vector3},
math::{aabb::AxisAlignedBoundingBox, Rect, TriangleDefinition},
math::{aabb::AxisAlignedBoundingBox, TriangleDefinition},
pool::Handle,
reflect::prelude::*,
type_traits::prelude::*,
Expand All @@ -15,15 +14,14 @@ use crate::{
visitor::prelude::*,
},
graph::BaseSceneGraph,
material::{Material, MaterialResource},
renderer::{self, bundle::RenderContext},
scene::{
base::{Base, BaseBuilder},
dim2::rectangle::RectangleVertex,
graph::Graph,
mesh::{buffer::VertexTrait, RenderPath},
node::{Node, NodeTrait, RdcControlFlow},
tilemap::tileset::{TileDefinition, TileSet, TileSetResource},
tilemap::tileset::TileSetResource,
},
};
use fxhash::FxHashMap;
Expand Down Expand Up @@ -229,42 +227,10 @@ pub struct TileMapBuilder {

impl TileMapBuilder {
pub fn new(base_builder: BaseBuilder) -> Self {
// TODO: testing
let tile_set = TileSet {
tiles: vec![TileDefinition {
material: MaterialResource::new_ok(ResourceKind::Embedded, Material::standard_2d()),
uv_rect: Rect::new(0.0, 0.0, 1.0, 1.0),
collider: Default::default(),
color: Default::default(),
id: Uuid::new_v4(),
}],
};

let tile_set = Some(TileSetResource::new_ok(ResourceKind::Embedded, tile_set));

let tiles = vec![
Tile {
position: Default::default(),
definition_index: 0,
},
Tile {
position: Vector2::new(1, 0),
definition_index: 0,
},
Tile {
position: Vector2::new(0, 1),
definition_index: 0,
},
];
// TODO: testing

Self {
base_builder,
tile_set,
tiles: tiles
.into_iter()
.map(|tile| (tile.position, tile))
.collect(),
tile_set: None,
tiles: Default::default(),
tile_scale: Vector2::repeat(1.0),
}
}
Expand Down

0 comments on commit 254aee7

Please sign in to comment.