Skip to content

Commit 2023d0f

Browse files
committed
Made WaitUntilIdle callable from managed code
1 parent 8b50583 commit 2023d0f

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

Runtime/Cesium3DTileset.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,8 @@ public bool createPhysicsMeshes
745745
/// </summary>
746746
public partial void RecreateTileset();
747747

748+
public partial void WaitUntilIdle();
749+
748750
/// <summary>
749751
/// Zoom the Editor camera to this tileset. This method does nothing outside of the Editor.
750752
/// </summary>

Runtime/ConfigureReinterop.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ public void ExposeToCPP()
288288
tileset.showCreditsOnScreen = tileset.showCreditsOnScreen;
289289
tileset.ionServer = tileset.ionServer;
290290
tileset.RecreateTileset();
291+
tileset.WaitUntilIdle();
291292

292293
GraphicsFormat gfxFmt = GraphicsFormat.RGB_ETC_UNorm;
293294
FormatUsage fmtUsage = FormatUsage.Sample;
@@ -975,4 +976,5 @@ Cesium3DTilesetLoadFailureDetails tilesetDetails
975976
var message = exception.Message;
976977
}
977978
}
978-
}
979+
}
980+

native~/Runtime/src/Cesium3DTilesetImpl.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "Cesium3DTilesetImpl.h"
22

3+
#include "../../extern/cesium-native/Cesium3DTilesSelection/src/TilesetContentManager.h"
34
#include "CameraManager.h"
45
#include "CesiumEllipsoidImpl.h"
56
#include "CesiumIonServerHelper.h"
@@ -563,6 +564,10 @@ void Cesium3DTilesetImpl::DestroyTileset(
563564
this->_destroyTilesetOnNextUpdate = false;
564565
}
565566

567+
void Cesium3DTilesetImpl::WaitUntilIdle(const DotNet::CesiumForUnity::Cesium3DTileset& tileset) {
568+
this->getTileset()->getTilesetContentManager().waitUntilIdle();
569+
}
570+
566571
void Cesium3DTilesetImpl::LoadTileset(
567572
const DotNet::CesiumForUnity::Cesium3DTileset& tileset) {
568573
TilesetOptions options{};

native~/Runtime/src/Cesium3DTilesetImpl.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ class Cesium3DTilesetImpl : public CesiumImpl<Cesium3DTilesetImpl> {
5252
void UpdateOverlayMaterialKeys(
5353
const DotNet::CesiumForUnity::Cesium3DTileset& tileset);
5454

55+
void WaitUntilIdle(const DotNet::CesiumForUnity::Cesium3DTileset& tileset);
56+
5557
float
5658
ComputeLoadProgress(const DotNet::CesiumForUnity::Cesium3DTileset& tileset);
5759

0 commit comments

Comments
 (0)