From 76c42c0b1cc781e08ac534010960455ea9b41bd5 Mon Sep 17 00:00:00 2001 From: Philip Abernethy Date: Fri, 13 Apr 2018 22:17:55 -0400 Subject: [PATCH] Rename collision_friction to friction in TileMap Renames the collision_friction property to friction in the TileMap class to conform with the naming in other classes. The documentation is updated accordingly. The previous property accessor, getter and setter have been retained for compatibility. Fixes #18190 --- doc/classes/TileMap.xml | 2 +- scene/2d/tile_map.cpp | 22 ++++++++++++++++++---- scene/2d/tile_map.h | 3 +++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 6ee948999556..036a4020ea7e 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -245,7 +245,7 @@ Bounce value for static body collisions (see [code]collision_use_kinematic[/code]). Default value: 0. - + Friction value for static body collisions (see [code]collision_use_kinematic[/code]). Default value: 1. diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index c126dd8f6b75..92afb4d11b20 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -1171,7 +1171,7 @@ void TileMap::set_collision_use_kinematic(bool p_use_kinematic) { _recreate_quadrants(); } -void TileMap::set_collision_friction(float p_friction) { +void TileMap::set_friction(float p_friction) { friction = p_friction; for (Map::Element *E = quadrant_map.front(); E; E = E->next()) { @@ -1181,11 +1181,21 @@ void TileMap::set_collision_friction(float p_friction) { } } -float TileMap::get_collision_friction() const { +float TileMap::get_friction() const { return friction; } +void TileMap::set_collision_friction(float p_friction) { + + set_friction(p_friction); +} + +float TileMap::get_collision_friction() const { + + return get_friction(); +} + void TileMap::set_collision_bounce(float p_bounce) { bounce = p_bounce; @@ -1567,8 +1577,11 @@ void TileMap::_bind_methods() { ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &TileMap::set_collision_mask_bit); ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &TileMap::get_collision_mask_bit); - ClassDB::bind_method(D_METHOD("set_collision_friction", "value"), &TileMap::set_collision_friction); - ClassDB::bind_method(D_METHOD("get_collision_friction"), &TileMap::get_collision_friction); + ClassDB::bind_method(D_METHOD("set_collision_friction", "value"), &TileMap::set_friction); + ClassDB::bind_method(D_METHOD("get_collision_friction"), &TileMap::get_friction); + + ClassDB::bind_method(D_METHOD("set_friction", "value"), &TileMap::set_friction); + ClassDB::bind_method(D_METHOD("get_friction"), &TileMap::get_friction); ClassDB::bind_method(D_METHOD("set_collision_bounce", "value"), &TileMap::set_collision_bounce); ClassDB::bind_method(D_METHOD("get_collision_bounce"), &TileMap::get_collision_bounce); @@ -1618,6 +1631,7 @@ void TileMap::_bind_methods() { ADD_GROUP("Collision", "collision_"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collision_use_kinematic", PROPERTY_HINT_NONE, ""), "set_collision_use_kinematic", "get_collision_use_kinematic"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "friction", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_friction", "get_friction"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "collision_friction", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_collision_friction", "get_collision_friction"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "collision_bounce", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_collision_bounce", "get_collision_bounce"); ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_collision_layer", "get_collision_layer"); diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h index 587bd3b684d5..37c3d5677ff3 100644 --- a/scene/2d/tile_map.h +++ b/scene/2d/tile_map.h @@ -267,6 +267,9 @@ class TileMap : public Node2D { void set_collision_use_kinematic(bool p_use_kinematic); bool get_collision_use_kinematic() const; + void set_friction(float p_friction); + float get_friction() const; + void set_collision_friction(float p_friction); float get_collision_friction() const;