feat: added out list argument to HurtboxCast
This commit is contained in:
parent
2895ce6079
commit
6b8dbaee7b
|
@ -18,7 +18,7 @@ void Internal_HurtboxDealDamage(const Hurtbox* self, List* colliders, float min_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int HurtboxCast(Hurtbox* self, float facing_dir) {
|
int HurtboxCast(Hurtbox* self, float facing_dir, List *out) {
|
||||||
const IPhysicsEntity* physics_entity = mirror_get_typeclass(self->owner.data, self->owner.mirror, "PhysicsEntity");
|
const IPhysicsEntity* physics_entity = mirror_get_typeclass(self->owner.data, self->owner.mirror, "PhysicsEntity");
|
||||||
const ITransformable* transformable = mirror_get_typeclass(self->owner.data, self->owner.mirror, "Transformable");
|
const ITransformable* transformable = mirror_get_typeclass(self->owner.data, self->owner.mirror, "Transformable");
|
||||||
|
|
||||||
|
@ -32,5 +32,9 @@ int HurtboxCast(Hurtbox* self, float facing_dir) {
|
||||||
const Vector offset = vaddf(transform->position, MakeVector(facing_dir * self->offset.x, self->offset.y));
|
const Vector offset = vaddf(transform->position, MakeVector(facing_dir * self->offset.x, self->offset.y));
|
||||||
List found = physics_world_box_query_all(offset, self->size, PHYSICS_LAYER_COMBAT, body);
|
List found = physics_world_box_query_all(offset, self->size, PHYSICS_LAYER_COMBAT, body);
|
||||||
Internal_HurtboxDealDamage(self, &found, transform->position.y - self->depth_extent, transform->position.y + self->depth_extent);
|
Internal_HurtboxDealDamage(self, &found, transform->position.y - self->depth_extent, transform->position.y + self->depth_extent);
|
||||||
|
if(out == NULL)
|
||||||
|
list_empty(&found);
|
||||||
|
else
|
||||||
|
*out = found;
|
||||||
return found.len;
|
return found.len;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,6 @@ typedef struct Hurtbox {
|
||||||
float depth_extent;
|
float depth_extent;
|
||||||
} Hurtbox;
|
} Hurtbox;
|
||||||
|
|
||||||
int HurtboxCast(Hurtbox* self, float facing_dir);
|
extern int HurtboxCast(Hurtbox* self, float facing_dir, List *out);
|
||||||
|
|
||||||
#endif // !FIGHT_HURTBOX_H
|
#endif // !FIGHT_HURTBOX_H
|
||||||
|
|
|
@ -82,7 +82,7 @@ void PlayerHurtbox(Player* self, DamageEventData damage, Vector hitbox_size, Vec
|
||||||
.offset = vaddf(offset, MakeVector(0.f, self->height)),
|
.offset = vaddf(offset, MakeVector(0.f, self->height)),
|
||||||
.depth_extent = 0.15f,
|
.depth_extent = 0.15f,
|
||||||
};
|
};
|
||||||
HurtboxCast(&box, self->facing);
|
HurtboxCast(&box, self->facing, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerJabA_Enter(Player* self) {
|
void PlayerJabA_Enter(Player* self) {
|
||||||
|
|
Loading…
Reference in a new issue