2
3
4
5
9#include "World/Entity.h"
15 const std::string& name ,
16 std::function<std::shared_ptr<
Mesh>()> onMeshCreated ,
17 std::function<
void(
Entity&)> onAdded
20 AsyncTask(ThreadPoolEnum::Custom, [=]() {
24 auto mesh = onMeshCreated();
26 CreateMeshEntity(world, name, mesh, onAdded);
32 const std::string& name ,
33 const std::shared_ptr<
Mesh>& mesh ,
34 std::function<
void(
Entity&)> onAdded
37 AsyncMainTask(ThreadPoolEnum::Main, [=]() {
41 Entity entity = world->CreateEntity(name);
42 auto& meshComp = entity.AddComponent<MeshComponent>();
44 meshComp.SetMesh(mesh);
46 if(onAdded) onAdded(entity);
49
50
51 world->Mark(World::WorldMarkBits::MeshAddedToWorld);
#define SPICES_PROFILE_ZONEN(...)
Entity Class. This class defines the specific behaves of Entity.
MeshRenderer Class. This class is a wrapper of mashpack.
World Class. This class defines the basic behaves of World. When we create an new world,...