diff --git a/packages/frontend/src/utility/room/objects/tv.ts b/packages/frontend/src/utility/room/objects/tv.ts index 53ec121371..b84b21538f 100644 --- a/packages/frontend/src/utility/room/objects/tv.ts +++ b/packages/frontend/src/utility/room/objects/tv.ts @@ -15,11 +15,11 @@ export const tv = defineObject({ default: {}, }, placement: 'top', - createInstance: ({ scene, root }) => { + createInstance: ({ room, root }) => { const screenMesh = root.getChildMeshes().find(m => m.name.includes('__TV_SCREEN__')) as BABYLON.Mesh; screenMesh.markVerticesDataAsUpdatable(BABYLON.VertexBuffer.UVKind, true); - initTv(scene, screenMesh); + initTv(room, screenMesh); return { interactions: {}, diff --git a/packages/frontend/src/utility/room/utility.ts b/packages/frontend/src/utility/room/utility.ts index 8487ebb36d..727920da90 100644 --- a/packages/frontend/src/utility/room/utility.ts +++ b/packages/frontend/src/utility/room/utility.ts @@ -278,15 +278,15 @@ const TV_PROGRAMS = { let tvScreenMaterial: BABYLON.StandardMaterial | null = null; -export function initTv(scene: BABYLON.Scene, screenMesh: BABYLON.Mesh) { +export function initTv(room: RoomEngine, screenMesh: BABYLON.Mesh) { const tvProgramId = 'shopping'; const tvProgram = TV_PROGRAMS[tvProgramId]; if (tvScreenMaterial == null) { - tvScreenMaterial = new BABYLON.StandardMaterial('tvScreenMaterial', scene); + tvScreenMaterial = new BABYLON.StandardMaterial('tvScreenMaterial', room.scene); tvScreenMaterial.diffuseColor = new BABYLON.Color3(0, 0, 0); tvScreenMaterial.ambientColor = new BABYLON.Color3(0, 0, 0); tvScreenMaterial.specularColor = new BABYLON.Color3(0, 0, 0); - tvScreenMaterial.emissiveTexture = new BABYLON.Texture(`/client-assets/room/tv/${tvProgramId}/${tvProgramId}.png`, scene, false, false); + tvScreenMaterial.emissiveTexture = new BABYLON.Texture(`/client-assets/room/tv/${tvProgramId}/${tvProgramId}.png`, room.scene, false, false); tvScreenMaterial.emissiveTexture.level = 0.5; tvScreenMaterial.emissiveColor = new BABYLON.Color3(0.4, 0.4, 0.4); tvScreenMaterial.freeze();