From 94341db45ec0f3ddf36d5e10d93160a9cfa45ef1 Mon Sep 17 00:00:00 2001 From: Relintai Date: Wed, 23 Feb 2022 15:24:19 +0100 Subject: [PATCH] Added a property for the mesh transform. Maybe later I'll make a ui that helps setting it up as isometric. --- tiled_wall/tiled_wall_2d.cpp | 14 ++++++++++++++ tiled_wall/tiled_wall_2d.h | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/tiled_wall/tiled_wall_2d.cpp b/tiled_wall/tiled_wall_2d.cpp index e6a51ba..9cba8e3 100644 --- a/tiled_wall/tiled_wall_2d.cpp +++ b/tiled_wall/tiled_wall_2d.cpp @@ -48,6 +48,16 @@ void TiledWall2D::set_heigth(const int value) { generate_mesh(); } +Transform2D TiledWall2D::get_mesh_transform() const { + return _mesh_transform; +} +void TiledWall2D::set_mesh_transform(const Transform2D &value) { + _mesh_transform = value; + + clear_mesh(); + generate_mesh(); +} + Ref TiledWall2D::get_data() { return _data; } @@ -314,6 +324,10 @@ void TiledWall2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_data", "value"), &TiledWall2D::set_data); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "TiledWall2DData"), "set_data", "get_data"); + ClassDB::bind_method(D_METHOD("get_mesh_transform"), &TiledWall2D::get_mesh_transform); + ClassDB::bind_method(D_METHOD("set_mesh_transform", "value"), &TiledWall2D::set_mesh_transform); + ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "mesh_transform"), "set_mesh_transform", "get_mesh_transform"); + //ADD_GROUP("Collision", "collision_"); //ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_layer", "get_collision_layer"); //ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask"); diff --git a/tiled_wall/tiled_wall_2d.h b/tiled_wall/tiled_wall_2d.h index cf6f1a3..549a6ae 100644 --- a/tiled_wall/tiled_wall_2d.h +++ b/tiled_wall/tiled_wall_2d.h @@ -54,6 +54,9 @@ public: Rect2 get_rect() const; PoolVector get_faces(uint32_t p_usage_flags) const; + Transform2D get_mesh_transform() const; + void set_mesh_transform(const Transform2D &value); + #ifdef TOOLS_ENABLED virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const; @@ -92,7 +95,7 @@ private: Array _mesh_array; Transform2D _mesh_transform; - + #ifdef TOOLS_ENABLED Vector _editor_selection_points; #endif