3#ifndef TRAM_SDK_COMPONENTS_TRIGGERCOMPONENT_H
4#define TRAM_SDK_COMPONENTS_TRIGGERCOMPONENT_H
13class TriggerComponent;
52 std::vector<Physics::Collision>
Poll();
57 uint32_t collisionMask = -1;
58 uint32_t collisionGroup = -1;
61 vec3 location =
vec3(0.0f, 0.0f, 0.0f);
62 quat rotation =
vec3(0.0f, 0.0f, 0.0f);
65 Physics::trigger_t trigger = {
nullptr};
71 bool store_collisions =
false;
73 std::vector<std::pair<uint32_t, Physics::Collision>> active_collisions;
75 std::vector<Physics::Collision> stored_collisions;
Component base class.
Definition: entitycomponent.h:16
Physics CollisionShape model.
Definition: collisionmodel.h:11
static CollisionModel * Find(name_t model_name)
Finds a model.
Definition: collisionmodel.cpp:31
Rigidbody wrapper.
Definition: physics.h:12
Definition: resource.h:46
Trigger wrapper.
Definition: trigger.h:18
uint32_t GetCollisionMask()
Definition: trigger.h:39
void SetLocation(vec3 location)
Sets the location of the component.
Definition: trigger.cpp:79
void EventHandler(Event &event)
Definition: trigger.h:22
void SetModel(name_t model)
Definition: trigger.h:26
void SetDectivationCallback(collision_callback deactivation)
Definition: trigger.h:31
void Start()
Definition: trigger.cpp:23
void SetStoreCollisions(bool store_collisions)
Definition: trigger.h:37
void ResetCollisions()
Resets registered collisions.
Definition: trigger.cpp:126
void SetCollisionGroup(uint32_t flags)
Sets a collision group for the trigger.
Definition: trigger.cpp:70
uint32_t GetCollisionGroup()
Definition: trigger.h:40
~TriggerComponent()
Definition: trigger.cpp:45
void SetCollisionMask(uint32_t flags)
Sets a collision mask for the trigger.
Definition: trigger.cpp:59
Physics::CollisionModel * GetModel()
Definition: trigger.h:25
void SetFilterCallback(filter_callback filter)
Definition: trigger.h:32
TriggerComponent()
Definition: trigger.h:20
void SetActivationCallback(collision_callback activation)
Definition: trigger.h:30
void Collision(const Physics::Collision &collision)
Registers a collision.
Definition: trigger.cpp:98
std::vector< Physics::Collision > Poll()
Checks for collisions with the trigger.
Definition: trigger.cpp:145
void SetModel(Physics::CollisionModel *model)
Definition: trigger.h:27
void SetShape(Physics::CollisionShape shape)
Sets a collision shape for the trigger.
Definition: trigger.cpp:52
const std::vector< Physics::Collision > & GetStoredCollisions()
Definition: trigger.h:45
void SetRotation(quat rotation)
Sets the rotation of the component.
Definition: trigger.cpp:88
void(* collision_callback)(TriggerComponent *, Physics::Collision)
Definition: trigger.h:15
bool(* filter_callback)(TriggerComponent *, PhysicsComponent *)
Definition: trigger.h:16
glm::vec3 vec3
Definition: math.h:11
glm::quat quat
Definition: math.h:12
Event data.
Definition: event.h:24
Physics collision data.
Definition: physics.h:34
Shape for a collider.
Definition: collisionshape.h:32
Interned string type.
Definition: uid.h:10