This interface define the specific world behave before on activated.
12 {
14
16
18
19
20 {
21
22
23
24
25
26
27
28
29
30
31 }
32
33
34 {
36
37 std::shared_ptr<FilePack> pack1 = std::make_shared<FilePack>("interior_stair_wl3ieamdw_01");
38 std::shared_ptr<FilePack> pack2 = std::make_shared<FilePack>("interior_stair_wl3ieamdw_02");
39 std::shared_ptr<FilePack> pack3 = std::make_shared<FilePack>("interior_stair_wl3ieamdw_03");
40 std::shared_ptr<FilePack> pack4 = std::make_shared<FilePack>("interior_stair_wl3ieamdw_04");
41 std::shared_ptr<FilePack> pack5 = std::make_shared<FilePack>("interior_stair_wl3ieamdw_05");
42
43 pack1->SetMaterial("BasePassRenderer.Mesh.interior_stair_wl3ieamdw");
44 pack2->SetMaterial("BasePassRenderer.Mesh.interior_stair_wl3ieamdw");
45 pack3->SetMaterial("BasePassRenderer.Mesh.interior_stair_wl3ieamdw");
46 pack4->SetMaterial("BasePassRenderer.Mesh.interior_stair_wl3ieamdw");
47 pack5->SetMaterial("BasePassRenderer.Mesh.interior_stair_wl3ieamdw");
48
49 return Mesh::Builder().AddPack(pack1).AddPack(pack2).AddPack(pack3).AddPack(pack4).AddPack(pack5).Build();
50
52
53 auto& transform =
e.GetComponent<TransformComponent>();
54 transform.SetPosition({ 10.0f, 2.0f, 30.0f });
55 transform.SetRotation({ -180.0f, 0.0f, -180.0f });
56
57 });
58 }
59
60
61 {
62 for(int i = 0; i < 3; i++)
63 {
64 std::stringstream ss;
65 ss << "CornellBox_" << i;
66
68
69 std::shared_ptr<FilePack> pack = std::make_shared<FilePack>("Test_room");
70
71 std::stringstream mss;
72 mss << "BasePassRenderer.Mesh.CornellBox" << i;
73 pack->SetMaterial(mss.str());
74 return Mesh::Builder().AddPack(pack).Build();
75
77
78 auto& transform = e.GetComponent<TransformComponent>();
79 transform.SetPosition({ -7.0f, 5.0f, 5.0f + i * 10.0f });
80 transform.SetRotation({ 0.0f, -90.0f, 0.0f });
81
82 });
83 }
84 }
85
86
87 {
88 for(int i = 0; i < 4; i++)
89 {
90 for(int j = 0; j < 10; j++)
91 {
92 std::stringstream ss;
93 ss << "Sphere_" << 10 * i + j;
94
96
97 std::shared_ptr<SpherePack> pack = std::make_shared<SpherePack>(100, 100);
98
99 std::stringstream mss;
100 mss << "BasePassRenderer.Mesh." << 10 * i + j;
101
102 pack->SetMaterial(mss.str());
103 return Mesh::Builder().AddPack(pack).Build();
104
106
107 auto& transform = e.GetComponent<TransformComponent>();
108 transform.SetPosition({ 3.0f * i, 0.0f, 3.0f * j });
109
110 });
111 }
112 }
113 }
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
149
150 std::shared_ptr<PlanePack> pack = std::make_shared<PlanePack>(1000, 1000);
151
152 pack->SetMaterial("BasePassRenderer.Mesh.ground");
153 return Mesh::Builder().AddPack(pack).Build();
154
156
157 auto& transform =
e.GetComponent<TransformComponent>();
158 transform.SetPosition({ 0.0f, -1.1f, 15.0f });
159 transform.SetRotation({ 90.0f, 0.0f, 0.0f });
160 transform.SetScale({ 500.0f, 500.0f, 500.0f });
161
162 });
163
164
165 {
167 PointLightComponent& plightComp = plightentity.AddComponent<PointLightComponent>();
168 plightComp.SetColor(glm::vec3(1.0f, 1.0f, 0.0f));
169 plightComp.SetIntensity(20.0f);
170 SpriteComponent& sprite = plightentity.AddComponent<SpriteComponent>();
171 sprite.SetMaterial("SpriteRenderer.Sprite.S_LightPoint");
172 TransformComponent& transformComp = plightentity.GetComponent<TransformComponent>();
173 transformComp.SetPosition({ -7.0f, 7.0f, 5.0f });
174 }
175 {
177 PointLightComponent& plightComp = plightentity.AddComponent<PointLightComponent>();
178 plightComp.SetColor(glm::vec3(1.0f, 0.0f, 1.0f));
179 plightComp.SetIntensity(20.0f);
180 SpriteComponent& sprite = plightentity.AddComponent<SpriteComponent>();
181 sprite.SetMaterial("SpriteRenderer.Sprite.S_LightPoint");
182 TransformComponent& transformComp = plightentity.GetComponent<TransformComponent>();
183 transformComp.SetPosition({ -7.0f, 5.0f, 15.0f });
184 }
185 {
187 PointLightComponent& plightComp = plightentity.AddComponent<PointLightComponent>();
188 plightComp.SetColor(glm::vec3(1.0f, 1.0f, 1.0f));
189 plightComp.SetIntensity(20.0f);
190 SpriteComponent& sprite = plightentity.AddComponent<SpriteComponent>();
191 sprite.SetMaterial("SpriteRenderer.Sprite.S_LightPoint");
192 TransformComponent& transformComp = plightentity.GetComponent<TransformComponent>();
193 transformComp.SetPosition({ -7.0f, 5.0f, 25.0f });
194 }
195
196
197
198
199
200 }
#define SPICES_PROFILE_ZONE
virtual void OnPreActivate() override
This interface define the specific world behave before on activated.
static void RegistryResourceFolder(const std::string &folder)
Registry Resource Search Folder.
static void CreateMeshEntity(World *world, const std::string &name, std::function< std::shared_ptr< Mesh >()> onMeshCreated, std::function< void(Entity &)> onAdded=nullptr)
Create Entity with a Basic MeshComponent Async.
Entity CreateEntity(const std::string &name="None")
Create a new empty entity in this world.