#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; } return 0; } const Framework::Text& getName() const { return name; } }; typedef RecipieListType RecipieList; typedef RecipieListType ShapedRecipieList;