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::MaterialFromDescription Class Reference

A material resource constructor which converts a material represented in JSON to its Material equivalent. More...

#include <material.hpp>

Inheritance diagram for ToyMaker::MaterialFromDescription:
ToyMaker::ResourceConstructor< Material, MaterialFromDescription > ToyMaker::IResourceConstructor

Public Member Functions

 MaterialFromDescription ()
 Constructs a new MaterialFromDescription object.
 
- Public Member Functions inherited from ToyMaker::ResourceConstructor< Material, MaterialFromDescription >
std::string getResourceConstructorName_ () const override
 Gets the resource constructor type string of the constructor.
 
- Public Member Functions inherited from ToyMaker::IResourceConstructor
virtual ~IResourceConstructor ()=default
 Destroys this resource constructor (when the application is terminated.)
 

Static Public Member Functions

static std::string getResourceConstructorName ()
 The resource constructor type string associated with this object.
 

Private Member Functions

std::shared_ptr< IResourcecreateResource (const nlohmann::json &methodParameters) override
 The method actually responsible for constructing a Material from its JSON description.
 

Additional Inherited Members

- Protected Member Functions inherited from ToyMaker::ResourceConstructor< Material, MaterialFromDescription >
 ResourceConstructor (int explicitlyInitializeMe)
 Construct a new ResourceConstructor object.
 
- Protected Member Functions inherited from ToyMaker::IResourceConstructor
 IResourceConstructor ()=default
 Construct a new IResourceConstructor object.
 
- Static Protected Member Functions inherited from ToyMaker::IResourceConstructor
template<typename TResource, typename TResourceConstructor>
static void RegisterResourceConstructor ()
 Registers this resource constructor against its respective ResourceFactory during static initialization.
 

Detailed Description

A material resource constructor which converts a material represented in JSON to its Material equivalent.

Such a representation might look like this:

{
"name": "MyMaterial",
"type": "Material",
"method": "fromDescription",
"parameters": {
"properties": [
{
"name": "colorMultiplier",
"type": "vec4",
"value": [0.05, 0.05, 0.05, 1.0]
},
],
}
}

Member Function Documentation

◆ createResource()

std::shared_ptr< IResource > MaterialFromDescription::createResource ( const nlohmann::json & methodParameters)
overrideprivatevirtual

The method actually responsible for constructing a Material from its JSON description.

Parameters
methodParametersThe material's description in JSON.
Returns
std::shared_ptr<IResource> A reference to the constructed material.

Implements ToyMaker::IResourceConstructor.

◆ getResourceConstructorName()

static std::string ToyMaker::MaterialFromDescription::getResourceConstructorName ( )
inlinestatic

The resource constructor type string associated with this object.

Returns
std::string This object's resource constructor type string.

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