#include <vector>
#include "engine/window.h"

#include "box2d/b2_math.h"
#include "box2d/b2_world.h"

#ifndef HYDRANGEA_SCENE_H
#define HYDRANGEA_SCENE_H

class Node;

class Scene {
private:
    // Members
    std::vector<Node *> nodeTree;

public:
    // Constructor and Destructor
    Scene();

    ~Scene();

    // Methods
    void update();

    void pollInputs();

    void freeSceneData();

    void appendNode(Node *node);

    // Members
    b2Vec2 b_gravity = b2Vec2(0, -10);
    b2World b_world = b2World(b_gravity);
    float timeStep = 1.0f / 60.0f;
    int velocityIterations = 6;
    int positionIterations = 2;
};

#endif //HYDRANGEA_SCENE_H
