diff --git a/src/app/tools/tankopedia/[id]/components/Model/components/TankArmor/components/SpacedArmorDepth.tsx b/src/app/tools/tankopedia/[id]/components/Model/components/TankArmor/components/SpacedArmorDepth.tsx index 8e902bab2..e192d2c43 100644 --- a/src/app/tools/tankopedia/[id]/components/Model/components/TankArmor/components/SpacedArmorDepth.tsx +++ b/src/app/tools/tankopedia/[id]/components/Model/components/TankArmor/components/SpacedArmorDepth.tsx @@ -14,6 +14,7 @@ import { import { nameToArmorId } from '../../../../../../../../../core/blitzkrieg/nameToArmorId'; import { resolveArmor } from '../../../../../../../../../core/blitzkrieg/resolveThickness'; import { useArmor } from '../../../../../../../../../hooks/useArmor'; +import { useModel } from '../../../../../../../../../hooks/useModel'; import { useModelDefinitions } from '../../../../../../../../../hooks/useModelDefinitions'; import { useTankopedia } from '../../../../../../../../../stores/tankopedia'; import { Duel } from '../../../../../page'; @@ -119,7 +120,10 @@ export const SpacedArmorDepth = memo(({ duel }) => { }); const armorGltf = useArmor(duel.protagonist.tank.id); + const modelGltf = useModel(duel.protagonist.tank.id); + const armorNodes = Object.values(armorGltf.nodes); + const modelNodes = Object.values(modelGltf.nodes); const tankModelDefinition = modelDefinitions[duel.protagonist.tank.id]; const turretModelDefinition = tankModelDefinition.turrets[duel.protagonist.turret.id]; @@ -173,6 +177,20 @@ export const SpacedArmorDepth = memo(({ duel }) => { /> ); })} + {modelNodes.map((node) => { + const isWheel = node.name.startsWith('chassis_wheel_'); + const isTrack = node.name.startsWith('chassis_track_'); + const isVisible = isWheel || isTrack; + + if (!isVisible) return null; + + return ( + + ); + })} {armorNodes.map((node) => { @@ -224,6 +242,21 @@ export const SpacedArmorDepth = memo(({ duel }) => { /> ); })} + {modelNodes.map((node) => { + const isCurrentGun = + node.name === + `gun_${gunModelDefinition.model.toString().padStart(2, '0')}`; + const isVisible = isCurrentGun; + + if (!isVisible) return null; + + return ( + + ); + })} diff --git a/src/components/ArmorMesh/components/SpacedArmorDepth/index.tsx b/src/components/ArmorMesh/components/SpacedArmorDepth/index.tsx index b0c18820e..03512144d 100644 --- a/src/components/ArmorMesh/components/SpacedArmorDepth/index.tsx +++ b/src/components/ArmorMesh/components/SpacedArmorDepth/index.tsx @@ -23,14 +23,8 @@ export function ArmorMeshSpacedArmorDepth( ) { return ( <> - {!props.include && ( - - - - )} - {props.include && ( - + )} + + {!props.include && ( + + + + )} ); }