BRE12
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 
16 public:
18  : mTextureLoader(textureLoader)
19  {}
20 
22  const MaterialTechniqueLoader& operator=(const 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 
Definition: MaterialTechnique.h:8
Definition: Camera.cpp:8
Definition: MaterialTechniqueLoader.h:15
Definition: TextureLoader.h:15
Definition: DrawableObjectLoader.h:10
Definition: node.h:29