Skip to content

Commit

Permalink
Make CharacterBody properties public
Browse files Browse the repository at this point in the history
  • Loading branch information
0x0ACB committed Jan 25, 2024
1 parent 26b1fd0 commit 9d0302d
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 77 deletions.
76 changes: 38 additions & 38 deletions scene/2d/physics_body_2d.h
Original file line number Diff line number Diff line change
Expand Up @@ -362,44 +362,6 @@ class CharacterBody2D : public PhysicsBody2D {
int get_slide_collision_count() const;
PhysicsServer2D::MotionResult get_slide_collision(int p_bounce) const;

CharacterBody2D();
~CharacterBody2D();

private:
real_t margin = 0.08;
MotionMode motion_mode = MOTION_MODE_GROUNDED;
PlatformOnLeave platform_on_leave = PLATFORM_ON_LEAVE_ADD_VELOCITY;

bool floor_constant_speed = false;
bool floor_stop_on_slope = true;
bool floor_block_on_wall = true;
bool slide_on_ceiling = true;
int max_slides = 4;
int platform_layer = 0;
real_t floor_max_angle = Math::deg_to_rad((real_t)45.0);
real_t floor_snap_length = 1;
real_t wall_min_slide_angle = Math::deg_to_rad((real_t)15.0);
Vector2 up_direction = Vector2(0.0, -1.0);
uint32_t platform_floor_layers = UINT32_MAX;
uint32_t platform_wall_layers = 0;
Vector2 velocity;

Vector2 floor_normal;
Vector2 platform_velocity;
Vector2 wall_normal;
Vector2 last_motion;
Vector2 previous_position;
Vector2 real_velocity;

RID platform_rid;
ObjectID platform_object_id;
bool on_floor = false;
bool on_ceiling = false;
bool on_wall = false;

Vector<PhysicsServer2D::MotionResult> motion_results;
Vector<Ref<KinematicCollision2D>> slide_colliders;

void set_safe_margin(real_t p_margin);
real_t get_safe_margin() const;

Expand Down Expand Up @@ -439,6 +401,44 @@ class CharacterBody2D : public PhysicsBody2D {
void set_platform_on_leave(PlatformOnLeave p_on_leave_velocity);
PlatformOnLeave get_platform_on_leave() const;

CharacterBody2D();
~CharacterBody2D();

private:
real_t margin = 0.08;
MotionMode motion_mode = MOTION_MODE_GROUNDED;
PlatformOnLeave platform_on_leave = PLATFORM_ON_LEAVE_ADD_VELOCITY;

bool floor_constant_speed = false;
bool floor_stop_on_slope = true;
bool floor_block_on_wall = true;
bool slide_on_ceiling = true;
int max_slides = 4;
int platform_layer = 0;
real_t floor_max_angle = Math::deg_to_rad((real_t)45.0);
real_t floor_snap_length = 1;
real_t wall_min_slide_angle = Math::deg_to_rad((real_t)15.0);
Vector2 up_direction = Vector2(0.0, -1.0);
uint32_t platform_floor_layers = UINT32_MAX;
uint32_t platform_wall_layers = 0;
Vector2 velocity;

Vector2 floor_normal;
Vector2 platform_velocity;
Vector2 wall_normal;
Vector2 last_motion;
Vector2 previous_position;
Vector2 real_velocity;

RID platform_rid;
ObjectID platform_object_id;
bool on_floor = false;
bool on_ceiling = false;
bool on_wall = false;

Vector<PhysicsServer2D::MotionResult> motion_results;
Vector<Ref<KinematicCollision2D>> slide_colliders;

void _move_and_slide_floating(double p_delta);
void _move_and_slide_grounded(double p_delta, bool p_was_on_floor);

Expand Down
78 changes: 39 additions & 39 deletions scene/3d/physics_body_3d.h
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,45 @@ class CharacterBody3D : public PhysicsBody3D {
int get_slide_collision_count() const;
PhysicsServer3D::MotionResult get_slide_collision(int p_bounce) const;

void set_safe_margin(real_t p_margin);
real_t get_safe_margin() const;

bool is_floor_stop_on_slope_enabled() const;
void set_floor_stop_on_slope_enabled(bool p_enabled);

bool is_floor_constant_speed_enabled() const;
void set_floor_constant_speed_enabled(bool p_enabled);

bool is_floor_block_on_wall_enabled() const;
void set_floor_block_on_wall_enabled(bool p_enabled);

bool is_slide_on_ceiling_enabled() const;
void set_slide_on_ceiling_enabled(bool p_enabled);

int get_max_slides() const;
void set_max_slides(int p_max_slides);

real_t get_floor_max_angle() const;
void set_floor_max_angle(real_t p_radians);

real_t get_floor_snap_length();
void set_floor_snap_length(real_t p_floor_snap_length);

real_t get_wall_min_slide_angle() const;
void set_wall_min_slide_angle(real_t p_radians);

uint32_t get_platform_floor_layers() const;
void set_platform_floor_layers(const uint32_t p_exclude_layer);

uint32_t get_platform_wall_layers() const;
void set_platform_wall_layers(const uint32_t p_exclude_layer);

void set_motion_mode(MotionMode p_mode);
MotionMode get_motion_mode() const;

void set_platform_on_leave(PlatformOnLeave p_on_leave_velocity);
PlatformOnLeave get_platform_on_leave() const;

CharacterBody3D();
~CharacterBody3D();

Expand Down Expand Up @@ -435,45 +474,6 @@ class CharacterBody3D : public PhysicsBody3D {
Vector<PhysicsServer3D::MotionResult> motion_results;
Vector<Ref<KinematicCollision3D>> slide_colliders;

void set_safe_margin(real_t p_margin);
real_t get_safe_margin() const;

bool is_floor_stop_on_slope_enabled() const;
void set_floor_stop_on_slope_enabled(bool p_enabled);

bool is_floor_constant_speed_enabled() const;
void set_floor_constant_speed_enabled(bool p_enabled);

bool is_floor_block_on_wall_enabled() const;
void set_floor_block_on_wall_enabled(bool p_enabled);

bool is_slide_on_ceiling_enabled() const;
void set_slide_on_ceiling_enabled(bool p_enabled);

int get_max_slides() const;
void set_max_slides(int p_max_slides);

real_t get_floor_max_angle() const;
void set_floor_max_angle(real_t p_radians);

real_t get_floor_snap_length();
void set_floor_snap_length(real_t p_floor_snap_length);

real_t get_wall_min_slide_angle() const;
void set_wall_min_slide_angle(real_t p_radians);

uint32_t get_platform_floor_layers() const;
void set_platform_floor_layers(const uint32_t p_exclude_layer);

uint32_t get_platform_wall_layers() const;
void set_platform_wall_layers(const uint32_t p_exclude_layer);

void set_motion_mode(MotionMode p_mode);
MotionMode get_motion_mode() const;

void set_platform_on_leave(PlatformOnLeave p_on_leave_velocity);
PlatformOnLeave get_platform_on_leave() const;

void _move_and_slide_floating(double p_delta);
void _move_and_slide_grounded(double p_delta, bool p_was_on_floor);

Expand Down

0 comments on commit 9d0302d

Please sign in to comment.