Files
HydraV3/HydraEngine/source/actor/HydraActor.h
T

37 lines
1002 B
C++
Raw Normal View History

2026-07-17 15:30:29 +01:00
#ifndef HYDRAACTOR
#define HYDRAACTOR
#include "../engine/HydraObject.h"
//#include "HydraActorManager.h"
#include <vector>
//class HydraComponent;
class CLASS_DEFINE HydraActor : public HydraObject
{
private:
HYDRA_ACTOR_STATE m_status = HYDRA_ACTOR_STATE::WAITING_FOR_INIT;
HydraID m_id = INVALID_HYDRA_ID;
HydraID m_parent_id = INVALID_HYDRA_ID;
std::vector<HydraID> m_children;
std::vector<uint32_t> m_component_types;
uint32_t m_components_waiting = 0;
2026-08-28 16:36:25 +01:00
2026-07-17 15:30:29 +01:00
friend class HydraActorManager;
friend class HydraDeleteActorTask;
protected:
2026-09-23 22:29:31 +01:00
virtual void InitialiseComponents() = 0;
2026-07-17 15:30:29 +01:00
bool m_fixed_tick =false;
public:
std::string Name;
virtual ~HydraActor(){};
2026-09-23 22:29:31 +01:00
2026-08-25 22:10:54 +01:00
virtual void DeferredInitialiseComponents() {};
virtual void FixedTick(float delta_t) {};
2026-08-18 16:23:20 +01:00
virtual void _Cleanup(){};
2026-08-25 22:10:54 +01:00
HydraID GetID() {return m_id;}
2026-07-17 15:30:29 +01:00
};
#endif /* HYDRAACTOR */