#pragma once

/*
	GameEngine and Editor
	by John Ryland
	Copyright (c) 2023
*/

////////////////////////////////////////////////////////////////////////////////////
//	View Collection

#include "IView.h"
#include "ISystemCollection.h"

namespace GameEngine {

template <typename InterfaceType>
class IViewCollection : public ApplicationFramework::ISystemCollection<InterfaceType>
{
public:
    void AddShowMenuItem() override { this->Apply(std::mem_fn(&InterfaceType::AddShowMenuItem)); }
};

using ViewCollection = IViewCollection<IView>;

} // GameEngine namespace
