OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
behaviour.hpp
Go to the documentation of this file.
1
6#pragma once
7
9#include "../ecs/entity.hpp"
11
12namespace Engine::Scene {
21 class Behaviour : public ECS::Component {
22 public:
24 Behaviour() = default;
25 virtual ~Behaviour() = default;
26
27 // Callback de cycle de vie
28 virtual void OnInit() {}
29 virtual void OnFixedUpdate(float deltaTime) {}
30 virtual void OnUpdate(float deltaTime) {}
31 virtual void OnRender(float alpha = 0.0f) {}
32 virtual void OnUIRender() {}
33 virtual void OnLateUpdate(float deltaTime) {}
34
35 // Callbacks pour les systèmes physiques
37 virtual void OnTriggerEnter(ECS::Entity other, Physics::CollisionManifold collision) {}
38 virtual void OnCollisionStay(ECS::Entity other, Physics::CollisionManifold collision) {}
39 virtual void OnTriggerStay(ECS::Entity other, Physics::CollisionManifold collision) {}
40 virtual void OnCollisionExit(ECS::Entity other, Physics::CollisionManifold collision) {}
41 virtual void OnTriggerExit(ECS::Entity other, Physics::CollisionManifold collision) {}
42
43 // Callbacks pour Actions d'interface
44 virtual void OnHoverEnter() {}
45 virtual void OnHoverExit() {}
46 virtual void OnFocusEnter() {}
47 virtual void OnFocusExit() {}
48 virtual void OnSubmit() {}
49 };
50}
Classe Component à dériver pour pouvoir être utilisée dans les systèmes ECS.
Definition component.hpp:18
Une entité est l'élément "atomique" utilisé dans l'architecture ECS pour référencer les composants.
Definition entity.hpp:19
virtual void OnFixedUpdate(float deltaTime)
Definition behaviour.hpp:29
virtual void OnCollisionExit(ECS::Entity other, Physics::CollisionManifold collision)
Definition behaviour.hpp:40
virtual void OnFocusExit()
Definition behaviour.hpp:47
virtual void OnSubmit()
Definition behaviour.hpp:48
virtual void OnTriggerExit(ECS::Entity other, Physics::CollisionManifold collision)
Definition behaviour.hpp:41
virtual void OnHoverEnter()
Definition behaviour.hpp:44
virtual void OnRender(float alpha=0.0f)
Definition behaviour.hpp:31
virtual void OnTriggerStay(ECS::Entity other, Physics::CollisionManifold collision)
Definition behaviour.hpp:39
virtual void OnLateUpdate(float deltaTime)
Definition behaviour.hpp:33
virtual void OnHoverExit()
Definition behaviour.hpp:45
virtual void OnCollisionStay(ECS::Entity other, Physics::CollisionManifold collision)
Definition behaviour.hpp:38
virtual void OnTriggerEnter(ECS::Entity other, Physics::CollisionManifold collision)
Definition behaviour.hpp:37
virtual void OnInit()
Definition behaviour.hpp:28
virtual void OnFocusEnter()
Definition behaviour.hpp:46
virtual void OnUpdate(float deltaTime)
Definition behaviour.hpp:30
virtual void OnCollisionEnter(ECS::Entity other, Physics::CollisionManifold collision)
Definition behaviour.hpp:36
virtual ~Behaviour()=default
Behaviour BaseType
Definition behaviour.hpp:23
virtual void OnUIRender()
Definition behaviour.hpp:32
Définit un component de base dans le cadre d'un ECS.
Décrit le fonctionnement de l'entité dans une architecture ECS.
Definition registry.hpp:23
Définition d'un manifeste de collision.
Definition manifold.hpp:11