diff --git a/renderer/viewer/three/entities.ts b/renderer/viewer/three/entities.ts index 1a5e7c3f..8a270332 100644 --- a/renderer/viewer/three/entities.ts +++ b/renderer/viewer/three/entities.ts @@ -237,6 +237,16 @@ export class Entities { return Object.values(this.entities).filter(entity => entity.visible).length } + getDebugString (): string { + const totalEntities = Object.keys(this.entities).length + const visibleEntities = this.entitiesRenderingCount + + const playerEntities = Object.values(this.entities).filter(entity => entity.playerObject) + const visiblePlayerEntities = playerEntities.filter(entity => entity.visible) + + return `${visibleEntities}/${totalEntities} ${visiblePlayerEntities.length}/${playerEntities.length}` + } + constructor (public worldRenderer: WorldRendererThree) { this.debugMode = 'none' this.onSkinUpdate = () => { } diff --git a/renderer/viewer/three/graphicsBackend.ts b/renderer/viewer/three/graphicsBackend.ts index 37acfde9..01bb7c56 100644 --- a/renderer/viewer/three/graphicsBackend.ts +++ b/renderer/viewer/three/graphicsBackend.ts @@ -124,6 +124,9 @@ const createGraphicsBackend: GraphicsBackendLoader = (initOptions: GraphicsInitO if (worldRenderer) worldRenderer.renderingActive = rendering }, getDebugOverlay: () => ({ + get entitiesString () { + return worldRenderer?.entities.getDebugString() + }, }), updateCamera (pos: Vec3 | null, yaw: number, pitch: number) { worldRenderer?.setFirstPersonCamera(pos, yaw, pitch) diff --git a/src/react/FullscreenTime.tsx b/src/react/FullscreenTime.tsx index 25bd12e4..00b56740 100644 --- a/src/react/FullscreenTime.tsx +++ b/src/react/FullscreenTime.tsx @@ -73,28 +73,31 @@ const FullscreenTime = () => { if (topRightTimeDisplay === 'only-fullscreen' && !fullScreen) return null return ( -
+
{time} {batteryInfo && (
{batteryInfo.level}%