#pragma once
#include <functional>

#include "ReferenceCounter.h"

namespace Framework
{
    class Model3D;

    class Model3DCollection : public virtual ReferenceCounter
    {
    public:
        DLLEXPORT Model3DCollection();
        virtual void forAll(std::function<void(Model3D*)> f) = 0;
        DLLEXPORT virtual bool tick(std::function<void(Model3D*)> f, double time);
        DLLEXPORT virtual void render(std::function<void(Model3D*)> f);
    };
} // namespace Framework