BRE12
BRE
SceneLoader
MaterialTechniqueLoader.h
1
#pragma once
2
3
#include <string>
4
#include <unordered_map>
5
6
#include <SceneLoader\MaterialTechnique.h>
7
8
namespace
YAML
{
9
class
Node;
10
}
11
12
namespace
BRE
{
13
class
TextureLoader;
14
15
class
MaterialTechniqueLoader
{
16
public
:
17
MaterialTechniqueLoader
(
TextureLoader
& textureLoader)
18
: mTextureLoader(textureLoader)
19
{}
20
21
MaterialTechniqueLoader
(
const
MaterialTechniqueLoader
&) =
delete
;
22
const
MaterialTechniqueLoader
& operator=(
const
MaterialTechniqueLoader
&) =
delete
;
23
MaterialTechniqueLoader
(
MaterialTechniqueLoader
&&) =
delete
;
24
MaterialTechniqueLoader
& operator=(
MaterialTechniqueLoader
&&) =
delete
;
25
26
void
LoadMaterialTechniques(
const
YAML::Node
& rootNode) noexcept;
27
28
const
MaterialTechnique
& GetMaterialTechnique(
const
std::string& name)
const
noexcept;
29
30
private
:
31
void
UpdateMaterialTechnique(
const
std::string& materialTechniquePropertyName,
32
const
std::string& materialTechniqueTextureName,
33
MaterialTechnique
& materialTechnique)
const
noexcept;
34
35
std::unordered_map<std::string, MaterialTechnique> mMaterialTechniqueByName;
36
TextureLoader
& mTextureLoader;
37
};
38
}
39
BRE::MaterialTechnique
Definition:
MaterialTechnique.h:8
BRE
Definition:
Camera.cpp:8
BRE::MaterialTechniqueLoader
Definition:
MaterialTechniqueLoader.h:15
BRE::TextureLoader
Definition:
TextureLoader.h:15
YAML
Definition:
DrawableObjectLoader.h:10
YAML::Node
Definition:
node.h:29
Generated by
1.8.12