24 #include "hx3d/ecs/entity.hpp" 25 #include "hx3d/utils/ptr.hpp" 27 #include "hx3d/graphics/transform.hpp" 28 #include "hx3d/graphics/base_batch.hpp" 55 Node(
const std::string name);
66 template <
class T,
class... Args>
134 virtual void update(
const float delta);
164 #include "hx3d/ecs/_inline/node.inl.hpp" std::string getPath()
Get the game object full path from the root.
std::string getName()
Get the node name.
void removeChild(SceneGraph &sg, const std::string name)
Remove a child, using the SceneGraph.
Ptr< Node > _parent
Parent node.
Node(const std::string name)
Create a named Node. Should not be used directly.
std::string _name
Current name.
unsigned int getChildCount()
Get the recursive child count.
virtual void update(const float delta)
Update the node.
virtual void draw(graphics::BaseBatch &batch)
Draw the node.
void destroy(SceneGraph &sg)
Destroy the node.
graphics::Transform transform
Current transform.
std::vector< Ptr< Node > > _children
Children nodes.
Node management in hierarchy.
bool childNameExists(const std::string name)
Test if the object have a child.
std::enable_shared_from_this< T > EnableSharedThis
Quick-typing enable shared from this.
Base element, attachable with components.
graphics::Transform getFullTransform()
Get the game object full transform.
Ptr< T > createChild(SceneGraph &sg, const std::string name, Args...args)
Create a new child Node, using the SceneGraph.
Base node to use in a SceneGraph or an Engine.
Draw meshes and texts on screen.
Ptr< T > getChild(const std::string name)
Get one child.
std::shared_ptr< T > Ptr
Quick-typing shared ptr.