mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #49395 from nekomatata/floor-max-angle-degrees
Use degrees instead of rad for floor_max_angle property in CharacterBody
This commit is contained in:
commit
38ce1fbe84
@ -101,6 +101,9 @@
|
||||
<member name="floor_max_angle" type="float" setter="set_floor_max_angle" getter="get_floor_max_angle" default="0.785398">
|
||||
Maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall, when calling [method move_and_slide]. The default value equals 45 degrees.
|
||||
</member>
|
||||
<member name="floor_max_angle_degrees" type="float" setter="set_floor_max_angle_degrees" getter="get_floor_max_angle_degrees" default="45.0">
|
||||
Maximum angle (in degrees) where a slope is still considered a floor (or a ceiling), rather than a wall, when calling [method move_and_slide].
|
||||
</member>
|
||||
<member name="infinite_inertia" type="bool" setter="set_infinite_inertia_enabled" getter="is_infinite_inertia_enabled" default="true">
|
||||
If [code]true[/code], the body will be able to push [RigidBody2D] nodes when calling [method move_and_slide], but it also won't detect any collisions with them. If [code]false[/code], it will interact with [RigidBody2D] nodes like with [StaticBody2D].
|
||||
</member>
|
||||
|
@ -87,6 +87,9 @@
|
||||
<member name="floor_max_angle" type="float" setter="set_floor_max_angle" getter="get_floor_max_angle" default="0.785398">
|
||||
Maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall, when calling [method move_and_slide]. The default value equals 45 degrees.
|
||||
</member>
|
||||
<member name="floor_max_angle_degrees" type="float" setter="set_floor_max_angle_degrees" getter="get_floor_max_angle_degrees" default="45.0">
|
||||
Maximum angle (in degrees) where a slope is still considered a floor (or a ceiling), rather than a wall, when calling [method move_and_slide].
|
||||
</member>
|
||||
<member name="infinite_inertia" type="bool" setter="set_infinite_inertia_enabled" getter="is_infinite_inertia_enabled" default="true">
|
||||
If [code]true[/code], the body will be able to push [RigidBody3D] nodes when calling [method move_and_slide], but it also won't detect any collisions with them. If [code]false[/code], it will interact with [RigidBody3D] nodes like with [StaticBody3D].
|
||||
</member>
|
||||
|
@ -1203,8 +1203,16 @@ real_t CharacterBody2D::get_floor_max_angle() const {
|
||||
return floor_max_angle;
|
||||
}
|
||||
|
||||
void CharacterBody2D::set_floor_max_angle(real_t p_floor_max_angle) {
|
||||
floor_max_angle = p_floor_max_angle;
|
||||
void CharacterBody2D::set_floor_max_angle(real_t p_radians) {
|
||||
floor_max_angle = p_radians;
|
||||
}
|
||||
|
||||
real_t CharacterBody2D::get_floor_max_angle_degrees() const {
|
||||
return Math::rad2deg(floor_max_angle);
|
||||
}
|
||||
|
||||
void CharacterBody2D::set_floor_max_angle_degrees(real_t p_degrees) {
|
||||
floor_max_angle = Math::deg2rad(p_degrees);
|
||||
}
|
||||
|
||||
const Vector2 &CharacterBody2D::get_snap() const {
|
||||
@ -1262,7 +1270,9 @@ void CharacterBody2D::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_max_slides"), &CharacterBody2D::get_max_slides);
|
||||
ClassDB::bind_method(D_METHOD("set_max_slides", "max_slides"), &CharacterBody2D::set_max_slides);
|
||||
ClassDB::bind_method(D_METHOD("get_floor_max_angle"), &CharacterBody2D::get_floor_max_angle);
|
||||
ClassDB::bind_method(D_METHOD("set_floor_max_angle", "floor_max_angle"), &CharacterBody2D::set_floor_max_angle);
|
||||
ClassDB::bind_method(D_METHOD("set_floor_max_angle", "radians"), &CharacterBody2D::set_floor_max_angle);
|
||||
ClassDB::bind_method(D_METHOD("get_floor_max_angle_degrees"), &CharacterBody2D::get_floor_max_angle_degrees);
|
||||
ClassDB::bind_method(D_METHOD("set_floor_max_angle_degrees", "degrees"), &CharacterBody2D::set_floor_max_angle_degrees);
|
||||
ClassDB::bind_method(D_METHOD("get_snap"), &CharacterBody2D::get_snap);
|
||||
ClassDB::bind_method(D_METHOD("set_snap", "snap"), &CharacterBody2D::set_snap);
|
||||
ClassDB::bind_method(D_METHOD("get_up_direction"), &CharacterBody2D::get_up_direction);
|
||||
@ -1283,7 +1293,8 @@ void CharacterBody2D::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "stop_on_slope"), "set_stop_on_slope_enabled", "is_stop_on_slope_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "infinite_inertia"), "set_infinite_inertia_enabled", "is_infinite_inertia_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "max_slides"), "set_max_slides", "get_max_slides");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle"), "set_floor_max_angle", "get_floor_max_angle");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_floor_max_angle", "get_floor_max_angle");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle_degrees", PROPERTY_HINT_RANGE, "0,180,0.1", PROPERTY_USAGE_EDITOR), "set_floor_max_angle_degrees", "get_floor_max_angle_degrees");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "snap"), "set_snap", "get_snap");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "up_direction"), "set_up_direction", "get_up_direction");
|
||||
|
||||
|
@ -301,7 +301,10 @@ private:
|
||||
void set_max_slides(int p_max_slides);
|
||||
|
||||
real_t get_floor_max_angle() const;
|
||||
void set_floor_max_angle(real_t p_floor_max_angle);
|
||||
void set_floor_max_angle(real_t p_radians);
|
||||
|
||||
real_t get_floor_max_angle_degrees() const;
|
||||
void set_floor_max_angle_degrees(real_t p_degrees);
|
||||
|
||||
const Vector2 &get_snap() const;
|
||||
void set_snap(const Vector2 &p_snap);
|
||||
|
@ -1204,8 +1204,16 @@ real_t CharacterBody3D::get_floor_max_angle() const {
|
||||
return floor_max_angle;
|
||||
}
|
||||
|
||||
void CharacterBody3D::set_floor_max_angle(real_t p_floor_max_angle) {
|
||||
floor_max_angle = p_floor_max_angle;
|
||||
void CharacterBody3D::set_floor_max_angle(real_t p_radians) {
|
||||
floor_max_angle = p_radians;
|
||||
}
|
||||
|
||||
real_t CharacterBody3D::get_floor_max_angle_degrees() const {
|
||||
return Math::rad2deg(floor_max_angle);
|
||||
}
|
||||
|
||||
void CharacterBody3D::set_floor_max_angle_degrees(real_t p_degrees) {
|
||||
floor_max_angle = Math::deg2rad(p_degrees);
|
||||
}
|
||||
|
||||
const Vector3 &CharacterBody3D::get_snap() const {
|
||||
@ -1251,7 +1259,9 @@ void CharacterBody3D::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_max_slides"), &CharacterBody3D::get_max_slides);
|
||||
ClassDB::bind_method(D_METHOD("set_max_slides", "max_slides"), &CharacterBody3D::set_max_slides);
|
||||
ClassDB::bind_method(D_METHOD("get_floor_max_angle"), &CharacterBody3D::get_floor_max_angle);
|
||||
ClassDB::bind_method(D_METHOD("set_floor_max_angle", "floor_max_angle"), &CharacterBody3D::set_floor_max_angle);
|
||||
ClassDB::bind_method(D_METHOD("set_floor_max_angle", "radians"), &CharacterBody3D::set_floor_max_angle);
|
||||
ClassDB::bind_method(D_METHOD("get_floor_max_angle_degrees"), &CharacterBody3D::get_floor_max_angle_degrees);
|
||||
ClassDB::bind_method(D_METHOD("set_floor_max_angle_degrees", "degrees"), &CharacterBody3D::set_floor_max_angle_degrees);
|
||||
ClassDB::bind_method(D_METHOD("get_snap"), &CharacterBody3D::get_snap);
|
||||
ClassDB::bind_method(D_METHOD("set_snap", "snap"), &CharacterBody3D::set_snap);
|
||||
ClassDB::bind_method(D_METHOD("get_up_direction"), &CharacterBody3D::get_up_direction);
|
||||
@ -1270,7 +1280,8 @@ void CharacterBody3D::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "stop_on_slope"), "set_stop_on_slope_enabled", "is_stop_on_slope_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "infinite_inertia"), "set_infinite_inertia_enabled", "is_infinite_inertia_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "max_slides"), "set_max_slides", "get_max_slides");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle"), "set_floor_max_angle", "get_floor_max_angle");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_floor_max_angle", "get_floor_max_angle");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "floor_max_angle_degrees", PROPERTY_HINT_RANGE, "0,180,0.1", PROPERTY_USAGE_EDITOR), "set_floor_max_angle_degrees", "get_floor_max_angle_degrees");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "snap"), "set_snap", "get_snap");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "up_direction"), "set_up_direction", "get_up_direction");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "collision/safe_margin", PROPERTY_HINT_RANGE, "0.001,256,0.001"), "set_safe_margin", "get_safe_margin");
|
||||
|
@ -305,7 +305,10 @@ private:
|
||||
void set_max_slides(int p_max_slides);
|
||||
|
||||
real_t get_floor_max_angle() const;
|
||||
void set_floor_max_angle(real_t p_floor_max_angle);
|
||||
void set_floor_max_angle(real_t p_radians);
|
||||
|
||||
real_t get_floor_max_angle_degrees() const;
|
||||
void set_floor_max_angle_degrees(real_t p_degrees);
|
||||
|
||||
const Vector3 &get_snap() const;
|
||||
void set_snap(const Vector3 &p_snap);
|
||||
|
Loading…
Reference in New Issue
Block a user