engine/include/systems/custom_behaviour.h

27 lines
611 B
C
Raw Permalink Normal View History

2023-05-25 17:35:32 +00:00
#ifndef ENGINE_INCLUDE_CUSTOM_BEHAVIOUR_H_
#define ENGINE_INCLUDE_CUSTOM_BEHAVIOUR_H_
#include <unordered_map>
2023-05-25 17:35:32 +00:00
#include "ecs_system.h"
/* This system allows for one-off custom components that execute arbitrary code
* It is similar to Unity's 'MonoBehavior' system */
namespace engine {
class CustomBehaviourSystem : public System {
public:
CustomBehaviourSystem(Scene* scene);
~CustomBehaviourSystem();
2023-05-25 17:35:32 +00:00
void OnUpdate(float ts) override;
void OnComponentInsert(uint32_t entity) override;
2023-05-25 17:35:32 +00:00
private:
std::unordered_map<uint32_t, bool> entity_is_initialised_{};
};
2023-05-25 17:35:32 +00:00
} // namespace engine
#endif