allow directly creating an entity and setting transform
This commit is contained in:
@@ -183,6 +183,12 @@ namespace thermion
|
||||
return reinterpret_cast<TLightManager *>(&lightManager);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TEntityManager *Engine_getEntityManager(TEngine *tEngine) {
|
||||
auto *engine = reinterpret_cast<Engine *>(tEngine);
|
||||
auto &entityManager = engine->getEntityManager();
|
||||
return reinterpret_cast<TEntityManager *>(&entityManager);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE TCamera *Engine_createCamera(TEngine *tEngine)
|
||||
{
|
||||
auto *engine = reinterpret_cast<Engine *>(tEngine);
|
||||
@@ -404,6 +410,11 @@ namespace thermion
|
||||
engine->destroy(indirectLight);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE EntityId EntityManager_createEntity(TEntityManager *tEntityManager) {
|
||||
auto entityManager = reinterpret_cast<utils::EntityManager *>(tEntityManager);
|
||||
auto entity = entityManager->create();
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,4 +168,14 @@ extern "C"
|
||||
|
||||
return Entity::smuggle(parent);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE void TransformManager_createComponent(TTransformManager *tTransformManager, EntityId entityId) {
|
||||
auto tm = reinterpret_cast<TransformManager *>(tTransformManager);
|
||||
auto entity = Entity::import(entityId);
|
||||
if(tm->hasComponent(entity)) {
|
||||
Log("Entity already has transform component");
|
||||
return;
|
||||
}
|
||||
tm->create(entity);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user