Game of Ur 0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
Loading...
Searching...
No Matches
ToyMaker::IResourceConstructor Class Referenceabstract

A single way that a resource may be constructed. More...

#include <resource_database.hpp>

Inheritance diagram for ToyMaker::IResourceConstructor:
ToyMaker::ResourceConstructor< NineSlicePanel, NineSlicePanelFromDescription > ToyMaker::ResourceConstructor< Framebuffer, FramebufferFromDescription > ToyMaker::ResourceConstructor< Material, MaterialFromDescription > ToyMaker::ResourceConstructor< SimObject, SceneFromDescription > ToyMaker::ResourceConstructor< SimObject, SceneFromFile > ToyMaker::ResourceConstructor< SceneNode, SceneNodeFromDescription > ToyMaker::ResourceConstructor< ShaderProgram, ShaderProgramFromFile > ToyMaker::ResourceConstructor< SimObject, SimObjectFromDescription > ToyMaker::ResourceConstructor< StaticMesh, StaticMeshCuboidDimensions > ToyMaker::ResourceConstructor< StaticMesh, StaticMeshFromDescription > ToyMaker::ResourceConstructor< StaticMesh, StaticMeshRectangleDimensions > ToyMaker::ResourceConstructor< StaticMesh, StaticMeshSphereLatLong > ToyMaker::ResourceConstructor< StaticModel, StaticModelCuboidDimensions > ToyMaker::ResourceConstructor< StaticModel, StaticModelFromFile > ToyMaker::ResourceConstructor< StaticModel, StaticModelRectangleDimensions > ToyMaker::ResourceConstructor< StaticModel, StaticModelSphereLatLong > ToyMaker::ResourceConstructor< TextFont, TextFontFromFile > ToyMaker::ResourceConstructor< Texture, TextureFromColorBufferDefinition > ToyMaker::ResourceConstructor< Texture, TextureFromFile > ToyMaker::ResourceConstructor< ViewportNode, ViewportNodeFromDescription > ToyMaker::ResourceConstructor< TResource, TResourceFactoryMethod >

Public Member Functions

virtual std::string getResourceConstructorName_ () const =0
 Get the Resource Constructor type string for this constructor.
 
virtual std::shared_ptr< IResourcecreateResource (const nlohmann::json &methodParameters)=0
 Creates a resource object using the parameters specified in methodParameters.
 
virtual ~IResourceConstructor ()=default
 Destroys this resource constructor (when the application is terminated.)
 

Protected Member Functions

 IResourceConstructor ()=default
 Construct a new IResourceConstructor object.
 

Static Protected Member Functions

template<typename TResource, typename TResourceConstructor>
static void RegisterResourceConstructor ()
 Registers this resource constructor against its respective ResourceFactory during static initialization.
 

Friends

class ResourceDatabase
 

Detailed Description

A single way that a resource may be constructed.

Member Function Documentation

◆ createResource()

◆ getResourceConstructorName_()

virtual std::string ToyMaker::IResourceConstructor::getResourceConstructorName_ ( ) const
pure virtual

Get the Resource Constructor type string for this constructor.

Returns
std::string The resource constructor type string.

Implemented in ToyMaker::ResourceConstructor< TResource, TResourceFactoryMethod >, ToyMaker::ResourceConstructor< Framebuffer, FramebufferFromDescription >, ToyMaker::ResourceConstructor< Material, MaterialFromDescription >, ToyMaker::ResourceConstructor< NineSlicePanel, NineSlicePanelFromDescription >, ToyMaker::ResourceConstructor< SceneNode, SceneNodeFromDescription >, ToyMaker::ResourceConstructor< ShaderProgram, ShaderProgramFromFile >, ToyMaker::ResourceConstructor< SimObject, SceneFromDescription >, ToyMaker::ResourceConstructor< SimObject, SceneFromFile >, ToyMaker::ResourceConstructor< SimObject, SimObjectFromDescription >, ToyMaker::ResourceConstructor< StaticMesh, StaticMeshCuboidDimensions >, ToyMaker::ResourceConstructor< StaticMesh, StaticMeshFromDescription >, ToyMaker::ResourceConstructor< StaticMesh, StaticMeshRectangleDimensions >, ToyMaker::ResourceConstructor< StaticMesh, StaticMeshSphereLatLong >, ToyMaker::ResourceConstructor< StaticModel, StaticModelCuboidDimensions >, ToyMaker::ResourceConstructor< StaticModel, StaticModelFromFile >, ToyMaker::ResourceConstructor< StaticModel, StaticModelRectangleDimensions >, ToyMaker::ResourceConstructor< StaticModel, StaticModelSphereLatLong >, ToyMaker::ResourceConstructor< TextFont, TextFontFromFile >, ToyMaker::ResourceConstructor< Texture, TextureFromColorBufferDefinition >, ToyMaker::ResourceConstructor< Texture, TextureFromFile >, and ToyMaker::ResourceConstructor< ViewportNode, ViewportNodeFromDescription >.

◆ RegisterResourceConstructor()

template<typename TResource, typename TResourceConstructor>
void ToyMaker::IResourceConstructor::RegisterResourceConstructor ( )
staticprotected

Registers this resource constructor against its respective ResourceFactory during static initialization.

Template Parameters
TResourceThe type of Resource this constructor creates.
TResourceConstructorThe constructor which derives this class.

The documentation for this class was generated from the following file: