#ifndef SCENENODE_H
#define SCENENODE_H

class SceneTree;
class Light;
class GeometryNode;
class Engine;

class SceneNode
{
protected:
    const Engine& getEngine();
public:
    SceneNode() : m_parent(nullptr), m_scene(nullptr) {}

    SceneNode* m_parent;
    SceneTree* m_scene;
//    bool m_enabled;
    virtual void update() = 0;
    virtual Light* getLight() {return nullptr;}
    virtual GeometryNode* getGeometryNode() {return nullptr;}
    virtual void setSceneTree(SceneTree* tree) {m_scene = tree;}
//    virtual void toggleNode(){m_enabled = !m_enabled;}
};

#endif // SCENENODE_H
