mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-28 13:09:51 +01:00
SpacedArmorScene
This commit is contained in:
1 parent
1ee6cdabe5
commit
22aff6188a
3 files changed
+10
-6
No files matched your search
@@ -6,9 +6,9 @@ import { resolveArmor } from "../core/blitzkit/resolveThickness";
|
|||||||
import { useArmor } from "../hooks/useArmor";
|
import { useArmor } from "../hooks/useArmor";
|
||||||
import { useConsumable } from "../hooks/useConsumable";
|
import { useConsumable } from "../hooks/useConsumable";
|
||||||
import { DuelModule, useDuel } from "../hooks/useDuel";
|
import { DuelModule, useDuel } from "../hooks/useDuel";
|
||||||
|
import { useDuelModel } from "../hooks/useDuelModel";
|
||||||
import { useModel } from "../hooks/useModel";
|
import { useModel } from "../hooks/useModel";
|
||||||
import { useTankTransform } from "../hooks/useTankTransform";
|
import { useTankTransform } from "../hooks/useTankTransform";
|
||||||
import { Tankopedia } from "../stores/tankopedia";
|
|
||||||
import { SpacedArmorSceneComponent } from "./SpacedArmorSceneComponent";
|
import { SpacedArmorSceneComponent } from "./SpacedArmorSceneComponent";
|
||||||
|
|
||||||
export enum ArmorType {
|
export enum ArmorType {
|
||||||
@@ -32,9 +32,7 @@ export const SpacedArmorScene = memo<SpacedArmorSceneProps>(({ scene }) => {
|
|||||||
const { gltf: modelGltf } = useModel(tank.id);
|
const { gltf: modelGltf } = useModel(tank.id);
|
||||||
const armorNodes = Object.values(armorGltf.nodes);
|
const armorNodes = Object.values(armorGltf.nodes);
|
||||||
const modelNodes = Object.values(modelGltf.nodes);
|
const modelNodes = Object.values(modelGltf.nodes);
|
||||||
const tankModelDefinition = Tankopedia.use(
|
const tankModelDefinition = useDuelModel("protagonist");
|
||||||
(state) => state.protagonist.model,
|
|
||||||
);
|
|
||||||
const trackModelDefinition = tankModelDefinition.tracks[track.id];
|
const trackModelDefinition = tankModelDefinition.tracks[track.id];
|
||||||
const turretModelDefinition = tankModelDefinition.turrets[turret.id];
|
const turretModelDefinition = tankModelDefinition.turrets[turret.id];
|
||||||
const gunModelDefinition = turretModelDefinition.guns[gun.id];
|
const gunModelDefinition = turretModelDefinition.guns[gun.id];
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import { Tankopedia } from "../stores/tankopedia";
|
||||||
|
import type { DuelSide } from "./useEquipment";
|
||||||
|
|
||||||
|
export function useDuelModel(side: DuelSide) {
|
||||||
|
return Tankopedia.use((state) => state[side].model);
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
modelTransformEvent,
|
modelTransformEvent,
|
||||||
type ModelTransformEventData,
|
type ModelTransformEventData,
|
||||||
} from "../core/blitzkit/modelTransform";
|
} from "../core/blitzkit/modelTransform";
|
||||||
import { useTankModelDefinition } from "./useTankModelDefinition";
|
import { useDuelModel } from "./useDuelModel";
|
||||||
|
|
||||||
export function useTankTransform(
|
export function useTankTransform(
|
||||||
track: TrackDefinition,
|
track: TrackDefinition,
|
||||||
@@ -18,7 +18,7 @@ export function useTankTransform(
|
|||||||
turretContainer: RefObject<Group>,
|
turretContainer: RefObject<Group>,
|
||||||
gunContainer: RefObject<Group>,
|
gunContainer: RefObject<Group>,
|
||||||
) {
|
) {
|
||||||
const tankModelDefinition = useTankModelDefinition();
|
const tankModelDefinition = useDuelModel("protagonist");
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const trackModelDefinition = tankModelDefinition.tracks[track.id];
|
const trackModelDefinition = tankModelDefinition.tracks[track.id];
|
||||||
|
|||||||
Reference in new issue
Block a user