#include "scene.h" #include "resourcemanager.h" // Scene Scene::Scene(std::string name) : m_name(name) { RESOURCE_ADD(this, Scene, m_name); } Scene::~Scene() { RESOURCE_ADD(NULL, Scene, m_name); } // Container Node void ContainerNode::update() { for(SceneNode* sn : m_children) sn->update(); } void ContainerNode::addChild(const std::string &childName) { SceneNode* node = RESOURCE_GET(SceneNode, childName); if(node != NULL) { m_children.push_back(node); node->m_parent = this; } } void ContainerNode::removeChild(const std::string &childName) { SceneNode* node = RESOURCE_GET(SceneNode, childName); if(node != NULL) { for(unsigned int i=0; im_parent = NULL; m_children[i] == m_children.back(); m_children.pop_back(); break; } } } }