reimplement grid as SceneAsset

This commit is contained in:
Nick Fisher
2024-11-30 16:01:25 +08:00
parent e43e1c9cbd
commit 1c5b5c890b
10 changed files with 245 additions and 132 deletions

View File

@@ -207,13 +207,15 @@ extern "C"
return reinterpret_cast<TNameComponentManager*>(sceneManager->getNameComponentManager());
}
EMSCRIPTEN_KEEPALIVE size_t SceneManager_getOverlayEntityCount(TSceneManager *tSceneManager) {
EMSCRIPTEN_KEEPALIVE TSceneAsset *SceneManager_createGrid(TSceneManager *tSceneManager) {
auto *sceneManager = reinterpret_cast<SceneManager *>(tSceneManager);
return sceneManager->getOverlayEntityCount();
auto *grid = sceneManager->createGrid();
return reinterpret_cast<TSceneAsset*>(grid);
}
EMSCRIPTEN_KEEPALIVE EntityId SceneManager_getOverlayEntityAt(TSceneManager *tSceneManager, size_t index) {
EMSCRIPTEN_KEEPALIVE bool SceneManager_isGridEntity(TSceneManager *tSceneManager, EntityId entityId) {
auto *sceneManager = reinterpret_cast<SceneManager *>(tSceneManager);
auto entity = sceneManager->getOverlayEntity(index);
return utils::Entity::smuggle(entity);
return sceneManager->isGridEntity(utils::Entity::import(entityId));
}
}