Add a new HashSet template

* Intended to replace RBSet in most cases.
* Optimized for iteration speed
This commit is contained in:
reduz
2022-05-19 17:00:06 +02:00
parent 410893ad0f
commit 45af29da80
243 changed files with 1400 additions and 662 deletions

View File

@ -127,7 +127,7 @@ public:
struct RayParameters {
Vector2 from;
Vector2 to;
RBSet<RID> exclude;
HashSet<RID> exclude;
uint32_t collision_mask = UINT32_MAX;
bool collide_with_bodies = true;
@ -157,7 +157,7 @@ public:
struct PointParameters {
Vector2 position;
ObjectID canvas_instance_id;
RBSet<RID> exclude;
HashSet<RID> exclude;
uint32_t collision_mask = UINT32_MAX;
bool collide_with_bodies = true;
@ -173,7 +173,7 @@ public:
Transform2D transform;
Vector2 motion;
real_t margin = 0.0;
RBSet<RID> exclude;
HashSet<RID> exclude;
uint32_t collision_mask = UINT32_MAX;
bool collide_with_bodies = true;
@ -483,8 +483,8 @@ public:
Vector2 motion;
real_t margin = 0.08;
bool collide_separation_ray = false;
RBSet<RID> exclude_bodies;
RBSet<ObjectID> exclude_objects;
HashSet<RID> exclude_bodies;
HashSet<ObjectID> exclude_objects;
bool recovery_as_collision = false;
MotionParameters() {}