summaryrefslogtreecommitdiffstats
path: root/scene/2d/tile_map.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/2d/tile_map.h')
-rw-r--r--scene/2d/tile_map.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h
index 41068ea978..690102f730 100644
--- a/scene/2d/tile_map.h
+++ b/scene/2d/tile_map.h
@@ -32,6 +32,7 @@
#define TILE_MAP_H
#include "scene/2d/tile_map_layer.h"
+#include "scene/property_list_helper.h"
#include "scene/resources/2d/tile_set.h"
class Control;
@@ -62,8 +63,6 @@ private:
// A compatibility enum to specify how is the data if formatted.
mutable TileMapDataFormat format = TileMapDataFormat::TILE_MAP_DATA_FORMAT_3;
- static constexpr float FP_ADJUST = 0.00001;
-
// Properties.
Ref<TileSet> tile_set;
int rendering_quadrant_size = 16;
@@ -73,7 +72,9 @@ private:
// Layers.
LocalVector<TileMapLayer *> layers;
- TileMapLayer *default_layer; // Dummy layer to fetch default values.
+
+ static inline PropertyListHelper base_property_helper;
+ PropertyListHelper property_helper;
// Transforms for collision_animatable.
Transform2D last_valid_transform;
@@ -86,13 +87,14 @@ private:
// Kept for compatibility with TileMap. With TileMapLayers as individual nodes, the format is stored directly in the array.
void _set_tile_map_data_using_compatibility_format(int p_layer, TileMapDataFormat p_format, const Vector<int> &p_data);
Vector<int> _get_tile_map_data_using_compatibility_format(int p_layer) const;
+ void _set_layer_tile_data(int p_layer, const PackedInt32Array &p_data);
protected:
bool _set(const StringName &p_name, const Variant &p_value);
bool _get(const StringName &p_name, Variant &r_ret) const;
void _get_property_list(List<PropertyInfo> *p_list) const;
- bool _property_can_revert(const StringName &p_name) const;
- bool _property_get_revert(const StringName &p_name, Variant &r_property) const;
+ bool _property_can_revert(const StringName &p_name) const { return property_helper.property_can_revert(p_name); }
+ bool _property_get_revert(const StringName &p_name, Variant &r_property) const { return property_helper.property_get_revert(p_name, r_property); }
void _notification(int p_what);
static void _bind_methods();
@@ -119,8 +121,6 @@ public:
void set_rendering_quadrant_size(int p_size);
int get_rendering_quadrant_size() const;
- static void draw_tile(RID p_canvas_item, const Vector2 &p_position, const Ref<TileSet> p_tile_set, int p_atlas_source_id, const Vector2i &p_atlas_coords, int p_alternative_tile, int p_frame = -1, Color p_modulation = Color(1.0, 1.0, 1.0, 1.0), const TileData *p_tile_data_override = nullptr, real_t p_normalized_animation_offset = 0.0);
-
// Accessors.
void set_tileset(const Ref<TileSet> &p_tileset);
Ref<TileSet> get_tileset() const;
@@ -235,7 +235,6 @@ public:
PackedStringArray get_configuration_warnings() const override;
TileMap();
- ~TileMap();
};
VARIANT_ENUM_CAST(TileMap::VisibilityMode);