diff --git a/src/components/Armor/components/CoreArmorScene.tsx b/src/components/Armor/components/CoreArmorScene.tsx index b5b133c3d..670d1b023 100644 --- a/src/components/Armor/components/CoreArmorScene.tsx +++ b/src/components/Armor/components/CoreArmorScene.tsx @@ -20,6 +20,7 @@ export const CoreArmorScene = memo(() => { const turretContainer = useRef(null); const gunContainer = useRef(null); const initialTankopediaState = useTankopediaPersistent.getState(); + const protagonist = useDuel((draft) => draft.protagonist!); useEffect(() => { if (!modelDefinitions) return; @@ -88,7 +89,7 @@ export const CoreArmorScene = memo(() => { turretContainer.current?.rotation.copy(turretRotation); } - handleModelTransform(useDuel.getState().protagonist!); + handleModelTransform(protagonist); modelTransformEvent.on(handleModelTransform); return () => { diff --git a/src/components/Armor/components/CoreArmorSceneComponent/index.tsx b/src/components/Armor/components/CoreArmorSceneComponent/index.tsx index 30bb92619..8ef484fb0 100644 --- a/src/components/Armor/components/CoreArmorSceneComponent/index.tsx +++ b/src/components/Armor/components/CoreArmorSceneComponent/index.tsx @@ -123,7 +123,7 @@ export function CoreArmorSceneComponent({ return () => { unsubscribes.forEach((unsubscribe) => unsubscribe()); }; - }, []); + }); useFrame(({ gl, camera }) => { gl.getSize(material.uniforms.resolution.value).multiplyScalar( diff --git a/src/components/Armor/components/SpacedArmorScene.tsx b/src/components/Armor/components/SpacedArmorScene.tsx index 56337dfe9..49ec9a0c5 100644 --- a/src/components/Armor/components/SpacedArmorScene.tsx +++ b/src/components/Armor/components/SpacedArmorScene.tsx @@ -31,6 +31,7 @@ export const SpacedArmorScene = memo(({ scene }) => { const turretContainer = useRef(null); const gunContainer = useRef(null); const initialTankopediaState = useTankopediaPersistent.getState(); + const protagonist = useDuel((draft) => draft.protagonist!); useEffect(() => { if (!modelDefinitions) return; @@ -99,7 +100,7 @@ export const SpacedArmorScene = memo(({ scene }) => { turretContainer.current?.rotation.copy(turretRotation); } - handleModelTransform(useDuel.getState().protagonist!); + handleModelTransform(protagonist); modelTransformEvent.on(handleModelTransform); return () => {