slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
MaterialRegistry.h
浏览该文件的文档.
1//
2// Created by zhou_zhengming on 2026/5/21.
3//
4
5#pragma once
6#include <string>
7#include <unordered_map>
8
9namespace z8 {
10class Material;
12 std::unordered_map<std::string, Material *> Map;
13 MaterialRegistry() = default;
14public:
15 std::vector<Material*> Materials;
16
21
22 void Register(Material*);
23 Material* Get(std::string name);
24
26 static MaterialRegistry instance;
27 return instance;
28 }
29};
30
31template <typename MaterialTy>
33public:
35 MaterialRegistry::Instance().Register(new MaterialTy());
36 }
37};
38}
39
40
41
42
Definition Material.h:11
Definition MaterialRegistry.h:32
MaterialRegister()
Definition MaterialRegistry.h:34
Definition MaterialRegistry.h:11
MaterialRegistry(const MaterialRegistry &)=delete
MaterialRegistry & operator=(const MaterialRegistry &)=delete
MaterialRegistry()=default
std::vector< Material * > Materials
Definition MaterialRegistry.h:15
static MaterialRegistry & Instance()
Definition MaterialRegistry.h:25
Material * Get(std::string name)
Definition MaterialRegistry.cpp:14
void Register(Material *)
Definition MaterialRegistry.cpp:9
MaterialRegistry & operator=(MaterialRegistry &&)=delete
std::unordered_map< std::string, Material * > Map
Definition MaterialRegistry.h:12
MaterialRegistry(MaterialRegistry &&)=delete
Definition Application.h:14