From 484a4ae7ea05b46e8990b19caedb62328a434c3e Mon Sep 17 00:00:00 2001 From: cha0s Date: Sun, 14 Mar 2021 05:50:30 -0500 Subject: [PATCH] feat: camera scaling --- app/src/react/components/renderer/room-view.jsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/react/components/renderer/room-view.jsx b/app/src/react/components/renderer/room-view.jsx index 553a2d4..630af31 100644 --- a/app/src/react/components/renderer/room-view.jsx +++ b/app/src/react/components/renderer/room-view.jsx @@ -23,6 +23,7 @@ const Component = PixiComponent('RoomView', { const [roomView] = container.children; if (roomView) { [roomView.x, roomView.y] = Vector.scale(newProps.offset, -1); + [roomView.scaleX, roomView.scaleY] = newProps.scale; } }, }); @@ -39,6 +40,7 @@ const RoomViewComponent = () => { }, [app]); const selfEntity = useSelfEntity(); const [offset, setOffset] = useState([0, 0]); + const [scale, setScale] = useState([1, 1]); const room = useRoom(); useEffect(() => { if (!room || !selfEntity) { @@ -48,12 +50,18 @@ const RoomViewComponent = () => { const onCameraRealOffsetChanged = () => { setOffset(selfEntity.camera.realOffset); }; + const onCameraScaleChanged = () => { + setScale(selfEntity.camera.scale); + }; onCameraRealOffsetChanged(); + onCameraScaleChanged(); selfEntity.camera.on('realOffsetChanged', onCameraRealOffsetChanged); + selfEntity.camera.on('scaleChanged', onCameraScaleChanged); return () => { const {camera} = selfEntity || {}; if (camera) { camera.off('realOffsetChanged', onCameraRealOffsetChanged); + camera.off('scaleChanged', onCameraScaleChanged); } }; }, [room, selfEntity]); @@ -69,7 +77,7 @@ const RoomViewComponent = () => { destroyLoop(handle); }; }, [room]); - return ; + return ; }; export default RoomViewComponent;