feat: some cleaning up

This commit is contained in:
TrèsAbhi committed 2024-02-27 15:34:12 -06:00
1 parent f5c589373d
commit 06c878dd2c
5 files changed
+12 -24

No files matched your search

@@ -195,9 +195,7 @@ export function TankSandbox() {
<SceneProps /> <SceneProps />
<Suspense fallback={<ModelLoader />}> <Suspense fallback={<ModelLoader />}>
{/* <ShotDisplay /> {/* <ShotDisplay /> */}
*/}
{/* <SpacedArmorScene /> */} {/* <SpacedArmorScene /> */}
<Lighting /> <Lighting />
<TankModel /> <TankModel />
@@ -9,7 +9,6 @@ import {
import { nameToArmorId } from '../../../core/blitzkrieg/nameToArmorId'; import { nameToArmorId } from '../../../core/blitzkrieg/nameToArmorId';
import { resolveArmor } from '../../../core/blitzkrieg/resolveThickness'; import { resolveArmor } from '../../../core/blitzkrieg/resolveThickness';
import { useArmor } from '../../../hooks/useArmor'; import { useArmor } from '../../../hooks/useArmor';
import { useModel } from '../../../hooks/useModel';
import { useModelDefinitions } from '../../../hooks/useModelDefinitions'; import { useModelDefinitions } from '../../../hooks/useModelDefinitions';
import { useDuel } from '../../../stores/duel'; import { useDuel } from '../../../stores/duel';
import { useTankopediaPersistent } from '../../../stores/tankopedia'; import { useTankopediaPersistent } from '../../../stores/tankopedia';
@@ -117,7 +116,6 @@ export const CoreArmorScene = memo<CoreArmorSceneProps>(
}); });
const armorGltf = useArmor(protagonist.tank.id); const armorGltf = useArmor(protagonist.tank.id);
const { gltf: modelGltf } = useModel(protagonist.tank.id);
const armorNodes = Object.values(armorGltf.nodes); const armorNodes = Object.values(armorGltf.nodes);
const tankModelDefinition = modelDefinitions[protagonist.tank.id]; const tankModelDefinition = modelDefinitions[protagonist.tank.id];
@@ -19,12 +19,19 @@ export function SpacedArmorSubExternal({
node, node,
thickness, thickness,
}: SpacedArmorSubExternalProps) { }: SpacedArmorSubExternalProps) {
const penetration = resolveNearPenetration( const shell = useDuel((state) => state.antagonist!.shell);
useDuel.getState().antagonist!.shell.penetration, const penetration = resolveNearPenetration(shell.penetration);
);
return ( return (
<> <>
{jsxTree(node, {
renderOrder: 3,
material: new MeshBasicMaterial({
colorWrite: false,
depthTest: true,
depthWrite: true,
}),
})}
{jsxTree(node, { {jsxTree(node, {
renderOrder: 4, renderOrder: 4,
material: new ShaderMaterial({ material: new ShaderMaterial({
@@ -41,14 +48,6 @@ export function SpacedArmorSubExternal({
}, },
}), }),
})} })}
{jsxTree(node, {
renderOrder: 3,
material: new MeshBasicMaterial({
colorWrite: false,
depthTest: true,
depthWrite: true,
}),
})}
</> </>
); );
} }
@@ -15,7 +15,7 @@ export function SpacedArmorSubSpaced({
node, node,
thickness, thickness,
}: SpacedArmorSubSpacedProps) { }: SpacedArmorSubSpacedProps) {
const { shell } = useDuel.getState().antagonist!; const shell = useDuel((state) => state.antagonist!.shell);
const penetration = resolveNearPenetration(shell.penetration); const penetration = resolveNearPenetration(shell.penetration);
return jsxTree(node, { return jsxTree(node, {
@@ -1,7 +1,5 @@
import { MeshBasicMaterial, Object3D } from 'three'; import { MeshBasicMaterial, Object3D } from 'three';
import { resolveNearPenetration } from '../../../../core/blitz/resolveNearPenetration';
import { jsxTree } from '../../../../core/blitzkrieg/jsxTree'; import { jsxTree } from '../../../../core/blitzkrieg/jsxTree';
import { useDuel } from '../../../../stores/duel';
import { ArmorType } from '../SpacedArmorScene'; import { ArmorType } from '../SpacedArmorScene';
import { SpacedArmorSubExternal } from './components/SpacedArmorSubExternal'; import { SpacedArmorSubExternal } from './components/SpacedArmorSubExternal';
import { SpacedArmorSubSpaced } from './components/SpacedArmorSubSpaced'; import { SpacedArmorSubSpaced } from './components/SpacedArmorSubSpaced';
@@ -18,11 +16,6 @@ const omitMaterial = new MeshBasicMaterial({
}); });
export function SpacedArmor({ node, type, thickness }: SpacedArmorProps) { export function SpacedArmor({ node, type, thickness }: SpacedArmorProps) {
const penetrationRaw = useDuel(
(state) => state.antagonist!.shell.penetration,
);
const penetration = resolveNearPenetration(penetrationRaw);
/** /**
* Render orders allocations: * Render orders allocations:
* - 0 : core omission * - 0 : core omission