// Portions of this file Copyright (C) Amazon.com, Inc. or its affiliates. #ifndef CRYINCLUDE_CRYENTITYSYSTEM_COMPONENTFACTORYREGISTRY_H #define CRYINCLUDE_CRYENTITYSYSTEM_COMPONENTFACTORYREGISTRY_H #pragma once #include #include class CComponentFactoryRegistry : public IComponentFactoryRegistry { public: bool RegisterFactory(AZStd::unique_ptr&& factory) override; bool ReleaseFactory(const ComponentType& type) override; private: IComponentFactoryBase* GetFactoryInternal(const ComponentType& type) override; AZStd::unordered_map> m_factories; }; #endif // CRYINCLUDE_CRYENTITYSYSTEM_COMPONENTTYPEREGISTRY_H