#ifndef Node_h_ #define Node_h_ #include #include "json/json.hpp" #include "SDL.h" #include "filesystem.hpp" struct Game; struct Delegate; struct Display; struct Node { Node *parent; bool active; Node(); Node(Node*, bool=true); void set_parent(Node*); void activate(); void deactivate(); bool is_active() const; Game* get_root(); nlohmann::json& get_configuration(); Delegate& get_delegate(); Display& get_display(); void print_branch(); virtual std::string get_class_name() { return "Node"; }; virtual ~Node(); }; #include "Configuration.hpp" #include "Delegate.hpp" #include "Display.hpp" #endif