#ifndef __Node__
#define __Node__

#ifndef CORE_DLL 
    #ifdef CORE_BUILD
	    #define CORE_DLL __declspec(dllexport)
    #else
	    #define CORE_DLL __declspec(dllimport)
        #pragma comment(lib, "Core.lib")
    #endif
#endif

#include "../../Core/SharedResource.h"
#include "Shader.h"

class CORE_DLL Node : public SharedResource {
public:
    Node();
    virtual ~Node();

    bool isVisible();
    void setVisible(bool visible);

    Shader* getShader();
    void setShader(Shader* shader);

protected:
    bool _visible;

    Shader* _shader;
};

#endif