#pragma once #include #include "Recipie.h" template class RecipieListType : public virtual Framework::ReferenceCounter { private: Framework::RCArray recipies; Framework::Text name; public: RecipieListType( const char* name ) : ReferenceCounter(), name( name ) {} void addRecipie( T* recipie ) { recipies.add( recipie ); } T* zFirstRecipie( S* zStorage ) { for( T* recipie : recipies ) { if( recipie->testApplicability( zStorage ) ) return recipie; } } const Framework::Text& getName() const { return name; } }; typedef RecipieListType RecipieList; typedef RecipieListType ShapedRecipieList;