Port collision and layer masks to 3D, fixes #1759

Raycasts now have type_mask and layer_mask. Areas - collision_mask and layer_mask. PhysicsBodies needed only collision_mask.
This commit is contained in:
Bojidar Marinov
2016-04-09 21:54:09 +03:00
parent d454e64f42
commit f7c3d6329c
14 changed files with 283 additions and 3 deletions

View File

@ -346,6 +346,9 @@ public:
virtual Variant area_get_param(RID p_parea,AreaParameter p_param) const=0;
virtual Transform area_get_transform(RID p_area) const=0;
virtual void area_set_collision_mask(RID p_area,uint32_t p_mask)=0;
virtual void area_set_layer_mask(RID p_area,uint32_t p_mask)=0;
virtual void area_set_monitorable(RID p_area,bool p_monitorable)=0;
virtual void area_set_monitor_callback(RID p_area,Object *p_receiver,const StringName& p_method)=0;
@ -397,6 +400,9 @@ public:
virtual void body_set_layer_mask(RID p_body, uint32_t p_mask)=0;
virtual uint32_t body_get_layer_mask(RID p_body, uint32_t p_mask) const=0;
virtual void body_set_collision_mask(RID p_body, uint32_t p_mask)=0;
virtual uint32_t body_get_collision_mask(RID p_body, uint32_t p_mask) const=0;
virtual void body_set_user_flags(RID p_body, uint32_t p_flags)=0;
virtual uint32_t body_get_user_flags(RID p_body, uint32_t p_flags) const=0;