Merge pull request #12027 from marcelofg55/collision_crashfix
Prevent a possible crash at collision_object_2d_sw.h
This commit is contained in:
commit
36ca9c9251
1 changed files with 36 additions and 9 deletions
|
@ -110,21 +110,48 @@ public:
|
|||
void set_shape_metadata(int p_index, const Variant &p_metadata);
|
||||
|
||||
_FORCE_INLINE_ int get_shape_count() const { return shapes.size(); }
|
||||
_FORCE_INLINE_ Shape2DSW *get_shape(int p_index) const { return shapes[p_index].shape; }
|
||||
_FORCE_INLINE_ const Transform2D &get_shape_transform(int p_index) const { return shapes[p_index].xform; }
|
||||
_FORCE_INLINE_ const Transform2D &get_shape_inv_transform(int p_index) const { return shapes[p_index].xform_inv; }
|
||||
_FORCE_INLINE_ const Rect2 &get_shape_aabb(int p_index) const { return shapes[p_index].aabb_cache; }
|
||||
_FORCE_INLINE_ const Variant &get_shape_metadata(int p_index) const { return shapes[p_index].metadata; }
|
||||
_FORCE_INLINE_ Shape2DSW *get_shape(int p_index) const {
|
||||
ERR_FAIL_INDEX_V(p_index, shapes.size(), NULL);
|
||||
return shapes[p_index].shape;
|
||||
}
|
||||
_FORCE_INLINE_ const Transform2D &get_shape_transform(int p_index) const {
|
||||
ERR_FAIL_INDEX_V(p_index, shapes.size(), Transform2D());
|
||||
return shapes[p_index].xform;
|
||||
}
|
||||
_FORCE_INLINE_ const Transform2D &get_shape_inv_transform(int p_index) const {
|
||||
ERR_FAIL_INDEX_V(p_index, shapes.size(), Transform2D());
|
||||
return shapes[p_index].xform_inv;
|
||||
}
|
||||
_FORCE_INLINE_ const Rect2 &get_shape_aabb(int p_index) const {
|
||||
ERR_FAIL_INDEX_V(p_index, shapes.size(), Rect2());
|
||||
return shapes[p_index].aabb_cache;
|
||||
}
|
||||
_FORCE_INLINE_ const Variant &get_shape_metadata(int p_index) const {
|
||||
ERR_FAIL_INDEX_V(p_index, shapes.size(), Variant());
|
||||
return shapes[p_index].metadata;
|
||||
}
|
||||
|
||||
_FORCE_INLINE_ Transform2D get_transform() const { return transform; }
|
||||
_FORCE_INLINE_ Transform2D get_inv_transform() const { return inv_transform; }
|
||||
_FORCE_INLINE_ Space2DSW *get_space() const { return space; }
|
||||
|
||||
_FORCE_INLINE_ void set_shape_as_disabled(int p_idx, bool p_disabled) { shapes[p_idx].disabled = p_disabled; }
|
||||
_FORCE_INLINE_ bool is_shape_set_as_disabled(int p_idx) const { return shapes[p_idx].disabled; }
|
||||
_FORCE_INLINE_ void set_shape_as_disabled(int p_idx, bool p_disabled) {
|
||||
ERR_FAIL_INDEX(p_idx, shapes.size());
|
||||
shapes[p_idx].disabled = p_disabled;
|
||||
}
|
||||
_FORCE_INLINE_ bool is_shape_set_as_disabled(int p_idx) const {
|
||||
ERR_FAIL_INDEX_V(p_idx, shapes.size(), false);
|
||||
return shapes[p_idx].disabled;
|
||||
}
|
||||
|
||||
_FORCE_INLINE_ void set_shape_as_one_way_collision(int p_idx, bool p_one_way_collision) { shapes[p_idx].one_way_collision = p_one_way_collision; }
|
||||
_FORCE_INLINE_ bool is_shape_set_as_one_way_collision(int p_idx) const { return shapes[p_idx].one_way_collision; }
|
||||
_FORCE_INLINE_ void set_shape_as_one_way_collision(int p_idx, bool p_one_way_collision) {
|
||||
ERR_FAIL_INDEX(p_idx, shapes.size());
|
||||
shapes[p_idx].one_way_collision = p_one_way_collision;
|
||||
}
|
||||
_FORCE_INLINE_ bool is_shape_set_as_one_way_collision(int p_idx) const {
|
||||
ERR_FAIL_INDEX_V(p_idx, shapes.size(), false);
|
||||
return shapes[p_idx].one_way_collision;
|
||||
}
|
||||
|
||||
void set_collision_mask(uint32_t p_mask) { collision_mask = p_mask; }
|
||||
_FORCE_INLINE_ uint32_t get_collision_mask() const { return collision_mask; }
|
||||
|
|
Loading…
Reference in a new issue