mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 02:37:05 +02:00
flatten armor dir
This commit is contained in:
1 parent
e18d6f58f9
commit
e5b44d4eb8
28 files changed
+90
-101
No files matched your search
@@ -1,8 +0,0 @@
|
|||||||
import { forwardRef, type ComponentProps } from "react";
|
|
||||||
import { Group } from "three";
|
|
||||||
|
|
||||||
export const ModelTankWrapper = forwardRef<Group, ComponentProps<"group">>(
|
|
||||||
(props, ref) => {
|
|
||||||
return <group rotation={[-Math.PI / 2, 0, 0]} ref={ref} {...props} />;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
+5
-5
@@ -10,11 +10,11 @@ import {
|
|||||||
import { Html } from "@react-three/drei";
|
import { Html } from "@react-three/drei";
|
||||||
import { useRef } from "react";
|
import { useRef } from "react";
|
||||||
import { radToDeg } from "three/src/math/MathUtils.js";
|
import { radToDeg } from "three/src/math/MathUtils.js";
|
||||||
import { resolveArmorIndex } from "../../../core/blitzkit/resolveArmorIndex";
|
import { resolveArmorIndex } from "../core/blitzkit/resolveArmorIndex";
|
||||||
import { LocaleProvider, useLocale } from "../../../hooks/useLocale";
|
import { LocaleProvider, useLocale } from "../hooks/useLocale";
|
||||||
import { App } from "../../../stores/app";
|
import { App } from "../stores/app";
|
||||||
import { Duel } from "../../../stores/duel";
|
import { Duel } from "../stores/duel";
|
||||||
import { Tankopedia } from "../../../stores/tankopedia";
|
import { Tankopedia } from "../stores/tankopedia";
|
||||||
import { layerTypeNames } from "./ShotDisplayCard";
|
import { layerTypeNames } from "./ShotDisplayCard";
|
||||||
import { ArmorType } from "./SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
|
|
||||||
+4
-4
@@ -1,11 +1,11 @@
|
|||||||
import { createPortal, useFrame, useThree } from "@react-three/fiber";
|
import { createPortal, useFrame, useThree } from "@react-three/fiber";
|
||||||
import { memo, useState } from "react";
|
import { memo, useState } from "react";
|
||||||
import { DepthTexture, Scene, Vector2 } from "three";
|
import { DepthTexture, Scene, Vector2 } from "three";
|
||||||
import { PrimaryArmorScene } from "./components/PrimaryArmorScene";
|
import { spacedArmorRenderTarget } from "./PrimaryArmorRenderTarget";
|
||||||
import { spacedArmorRenderTarget } from "./components/PrimaryArmorSceneComponent/target";
|
import { PrimaryArmorScene } from "./PrimaryArmorScene";
|
||||||
import { SpacedArmorScene } from "./components/SpacedArmorScene";
|
import { SpacedArmorScene } from "./SpacedArmorScene";
|
||||||
|
|
||||||
export const Armor = memo(() => {
|
export const DynamicArmor = memo(() => {
|
||||||
const rootScene = useThree((state) => state.scene);
|
const rootScene = useThree((state) => state.scene);
|
||||||
const [spacedArmorScene] = useState(() => new Scene());
|
const [spacedArmorScene] = useState(() => new Scene());
|
||||||
const [primaryArmorScene] = useState(() => {
|
const [primaryArmorScene] = useState(() => {
|
||||||
File renamed without changes.
+5
-5
@@ -1,10 +1,10 @@
|
|||||||
import { memo, useRef } from "react";
|
import { memo, useRef } from "react";
|
||||||
import { Group } from "three";
|
import { Group } from "three";
|
||||||
import { correctZYTuple } from "../../../core/blitz/correctZYTuple";
|
import { correctZYTuple } from "../core/blitz/correctZYTuple";
|
||||||
import { nameToArmorId } from "../../../core/blitzkit/nameToArmorId";
|
import { nameToArmorId } from "../core/blitzkit/nameToArmorId";
|
||||||
import { resolveArmor } from "../../../core/blitzkit/resolveThickness";
|
import { resolveArmor } from "../core/blitzkit/resolveThickness";
|
||||||
import { useArmor } from "../../../hooks/useArmor";
|
import { useArmor } from "../hooks/useArmor";
|
||||||
import { DuelModule, useDuel } from "../../../hooks/useDuel";
|
import { DuelModule, useDuel } from "../hooks/useDuel";
|
||||||
import { ModelTankWrapper } from "./ModelTankWrapper";
|
import { ModelTankWrapper } from "./ModelTankWrapper";
|
||||||
import { PrimaryArmorSceneComponent } from "./PrimaryArmorSceneComponent";
|
import { PrimaryArmorSceneComponent } from "./PrimaryArmorSceneComponent";
|
||||||
|
|
||||||
+7
-7
@@ -17,15 +17,15 @@ import {
|
|||||||
Vector2,
|
Vector2,
|
||||||
} from "three";
|
} from "three";
|
||||||
import { degToRad } from "three/src/math/MathUtils.js";
|
import { degToRad } from "three/src/math/MathUtils.js";
|
||||||
import { jsxTree } from "../../../../core/blitzkit/jsxTree";
|
import { jsxTree } from "../../core/blitzkit/jsxTree";
|
||||||
import { DuelModule, getDuel } from "../../../../hooks/useDuel";
|
import { DuelModule, getDuel } from "../../hooks/useDuel";
|
||||||
import { hasEquipment } from "../../../../hooks/useEquipment";
|
import { hasEquipment } from "../../hooks/useEquipment";
|
||||||
import { Tankopedia } from "../../../../stores/tankopedia";
|
import { Tankopedia } from "../../stores/tankopedia";
|
||||||
import { TankopediaPersistent } from "../../../../stores/tankopediaPersistent";
|
import { TankopediaPersistent } from "../../stores/tankopediaPersistent";
|
||||||
import { transitionEvent } from "../../../Lighting";
|
import { transitionEvent } from "../Lighting";
|
||||||
import fragmentShader from "./shaders/fragment.glsl?raw";
|
import fragmentShader from "./shaders/fragment.glsl?raw";
|
||||||
import vertexShader from "./shaders/vertex.glsl?raw";
|
import vertexShader from "./shaders/vertex.glsl?raw";
|
||||||
import { spacedArmorRenderTarget } from "./target";
|
import { spacedArmorRenderTarget } from "./PrimaryArmorRenderTarget";
|
||||||
|
|
||||||
interface PrimaryArmorSceneComponentProps {
|
interface PrimaryArmorSceneComponentProps {
|
||||||
thickness: number;
|
thickness: number;
|
||||||
File renamed without changes.
File renamed without changes.
+3
-3
@@ -16,13 +16,13 @@ import {
|
|||||||
Path,
|
Path,
|
||||||
Quaternion,
|
Quaternion,
|
||||||
} from "three";
|
} from "three";
|
||||||
import { isHalloween } from "../../../core/blitzkit/isHalloween";
|
import { isHalloween } from "../core/blitzkit/isHalloween";
|
||||||
import { LocaleProvider, useLocale } from "../../../hooks/useLocale";
|
import { LocaleProvider, useLocale } from "../hooks/useLocale";
|
||||||
import {
|
import {
|
||||||
Tankopedia,
|
Tankopedia,
|
||||||
type ShotLayerNonExternal,
|
type ShotLayerNonExternal,
|
||||||
type ShotStatus,
|
type ShotStatus,
|
||||||
} from "../../../stores/tankopedia";
|
} from "../stores/tankopedia";
|
||||||
import { ShotDisplayCard } from "./ShotDisplayCard";
|
import { ShotDisplayCard } from "./ShotDisplayCard";
|
||||||
|
|
||||||
export const shotStatusColors: Record<
|
export const shotStatusColors: Record<
|
||||||
+2
-2
@@ -9,8 +9,8 @@ import {
|
|||||||
} from "@radix-ui/themes";
|
} from "@radix-ui/themes";
|
||||||
import type { ComponentProps } from "react";
|
import type { ComponentProps } from "react";
|
||||||
import { radToDeg } from "three/src/math/MathUtils.js";
|
import { radToDeg } from "three/src/math/MathUtils.js";
|
||||||
import { useLocale } from "../../../hooks/useLocale";
|
import { useLocale } from "../hooks/useLocale";
|
||||||
import type { Shot, ShotLayer } from "../../../stores/tankopedia";
|
import type { Shot, ShotLayer } from "../stores/tankopedia";
|
||||||
import { shotStatusColors } from "./ShotDisplay";
|
import { shotStatusColors } from "./ShotDisplay";
|
||||||
import { ArmorType } from "./SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
|
|
||||||
+8
-8
@@ -1,13 +1,13 @@
|
|||||||
import { memo, useRef } from "react";
|
import { memo, useRef } from "react";
|
||||||
import { Group, Plane, Scene, Vector3 } from "three";
|
import { Group, Plane, Scene, Vector3 } from "three";
|
||||||
import { correctZYTuple } from "../../../core/blitz/correctZYTuple";
|
import { correctZYTuple } from "../core/blitz/correctZYTuple";
|
||||||
import { nameToArmorId } from "../../../core/blitzkit/nameToArmorId";
|
import { nameToArmorId } from "../core/blitzkit/nameToArmorId";
|
||||||
import { resolveArmor } from "../../../core/blitzkit/resolveThickness";
|
import { resolveArmor } from "../core/blitzkit/resolveThickness";
|
||||||
import { useArmor } from "../../../hooks/useArmor";
|
import { useArmor } from "../hooks/useArmor";
|
||||||
import { useModel } from "../../../hooks/useModel";
|
import { useModel } from "../hooks/useModel";
|
||||||
import { useTankModelDefinition } from "../../../hooks/useTankModelDefinition";
|
import { useTankModelDefinition } from "../hooks/useTankModelDefinition";
|
||||||
import { useTankTransform } from "../../../hooks/useTankTransform";
|
import { useTankTransform } from "../hooks/useTankTransform";
|
||||||
import { Duel } from "../../../stores/duel";
|
import { Duel } from "../stores/duel";
|
||||||
import { ModelTankWrapper } from "./ModelTankWrapper";
|
import { ModelTankWrapper } from "./ModelTankWrapper";
|
||||||
import { SpacedArmorSceneComponent } from "./SpacedArmorSceneComponent";
|
import { SpacedArmorSceneComponent } from "./SpacedArmorSceneComponent";
|
||||||
|
|
||||||
+9
-9
@@ -16,20 +16,20 @@ import {
|
|||||||
Vector3,
|
Vector3,
|
||||||
} from "three";
|
} from "three";
|
||||||
import { degToRad } from "three/src/math/MathUtils.js";
|
import { degToRad } from "three/src/math/MathUtils.js";
|
||||||
import { hasEquipment } from "../../../../core/blitzkit/hasEquipment";
|
import { hasEquipment } from "../core/blitzkit/hasEquipment";
|
||||||
import { jsxTree } from "../../../../core/blitzkit/jsxTree";
|
import { jsxTree } from "../core/blitzkit/jsxTree";
|
||||||
import { defaultEqualizer } from "../../../../core/blitzkit/tankToDuelMember";
|
import { defaultEqualizer } from "../core/blitzkit/tankToDuelMember";
|
||||||
import { discardClippingPlane } from "../../../../core/three/discardClippingPlane";
|
import { discardClippingPlane } from "../core/three/discardClippingPlane";
|
||||||
import { Duel } from "../../../../stores/duel";
|
import { Duel } from "../stores/duel";
|
||||||
import {
|
import {
|
||||||
type Shot,
|
type Shot,
|
||||||
type ShotLayerBase,
|
type ShotLayerBase,
|
||||||
type ShotLayerNonExternal,
|
type ShotLayerNonExternal,
|
||||||
Tankopedia,
|
Tankopedia,
|
||||||
} from "../../../../stores/tankopedia";
|
} from "../stores/tankopedia";
|
||||||
import { ArmorType } from "../SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
import { SpacedArmorSubExternal } from "./components/SpacedArmorSubExternal";
|
import { SpacedArmorSubExternal } from "./SpacedArmorSubExternal";
|
||||||
import { SpacedArmorSubSpaced } from "./components/SpacedArmorSubSpaced";
|
import { SpacedArmorSubSpaced } from "./SpacedArmorSubSpaced";
|
||||||
|
|
||||||
type SpacedArmorSceneComponentProps = {
|
type SpacedArmorSceneComponentProps = {
|
||||||
node: Object3D;
|
node: Object3D;
|
||||||
+6
-6
@@ -7,12 +7,12 @@ import {
|
|||||||
Plane,
|
Plane,
|
||||||
ShaderMaterial,
|
ShaderMaterial,
|
||||||
} from "three";
|
} from "three";
|
||||||
import type { ArmorUserData, ExternalModuleVariant } from "../..";
|
import type { ArmorUserData, ExternalModuleVariant } from "../SpacedArmorSceneComponent";
|
||||||
import { hasEquipment } from "../../../../../../core/blitzkit/hasEquipment";
|
import { hasEquipment } from "../../core/blitzkit/hasEquipment";
|
||||||
import { jsxTree } from "../../../../../../core/blitzkit/jsxTree";
|
import { jsxTree } from "../../core/blitzkit/jsxTree";
|
||||||
import { Duel } from "../../../../../../stores/duel";
|
import { Duel } from "../../stores/duel";
|
||||||
import { Tankopedia } from "../../../../../../stores/tankopedia";
|
import { Tankopedia } from "../../stores/tankopedia";
|
||||||
import { ArmorType } from "../../../SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
import fragmentShader from "./shaders/fragment.glsl?raw";
|
import fragmentShader from "./shaders/fragment.glsl?raw";
|
||||||
import vertexShader from "./shaders/vertex.glsl?raw";
|
import vertexShader from "./shaders/vertex.glsl?raw";
|
||||||
|
|
||||||
File renamed without changes.
File renamed without changes.
+6
-6
@@ -7,12 +7,12 @@ import {
|
|||||||
type Object3D,
|
type Object3D,
|
||||||
} from "three";
|
} from "three";
|
||||||
import { degToRad } from "three/src/math/MathUtils.js";
|
import { degToRad } from "three/src/math/MathUtils.js";
|
||||||
import type { ArmorUserData } from "../..";
|
import type { ArmorUserData } from "../SpacedArmorSceneComponent";
|
||||||
import { hasEquipment } from "../../../../../../core/blitzkit/hasEquipment";
|
import { hasEquipment } from "../../core/blitzkit/hasEquipment";
|
||||||
import { jsxTree } from "../../../../../../core/blitzkit/jsxTree";
|
import { jsxTree } from "../../core/blitzkit/jsxTree";
|
||||||
import { Duel } from "../../../../../../stores/duel";
|
import { Duel } from "../../stores/duel";
|
||||||
import { Tankopedia } from "../../../../../../stores/tankopedia";
|
import { Tankopedia } from "../../stores/tankopedia";
|
||||||
import { ArmorType } from "../../../SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
import fragmentShader from "./shaders/fragment.glsl?raw";
|
import fragmentShader from "./shaders/fragment.glsl?raw";
|
||||||
import vertexShader from "./shaders/vertex.glsl?raw";
|
import vertexShader from "./shaders/vertex.glsl?raw";
|
||||||
|
|
||||||
File renamed without changes.
File renamed without changes.
+14
-14
@@ -1,20 +1,20 @@
|
|||||||
import { useThree, type ThreeEvent } from "@react-three/fiber";
|
import { useThree, type ThreeEvent } from "@react-three/fiber";
|
||||||
import { memo, useRef } from "react";
|
import { memo, useRef } from "react";
|
||||||
import { Group, Plane, Vector2, Vector3 } from "three";
|
import { Group, Plane, Vector2, Vector3 } from "three";
|
||||||
import { applyPitchYawLimits } from "../../../core/blitz/applyPitchYawLimits";
|
import { applyPitchYawLimits } from "../core/blitz/applyPitchYawLimits";
|
||||||
import { correctZYTuple } from "../../../core/blitz/correctZYTuple";
|
import { correctZYTuple } from "../core/blitz/correctZYTuple";
|
||||||
import { hasEquipment } from "../../../core/blitzkit/hasEquipment";
|
import { hasEquipment } from "../core/blitzkit/hasEquipment";
|
||||||
import { modelTransformEvent } from "../../../core/blitzkit/modelTransform";
|
import { modelTransformEvent } from "../core/blitzkit/modelTransform";
|
||||||
import { nameToArmorId } from "../../../core/blitzkit/nameToArmorId";
|
import { nameToArmorId } from "../core/blitzkit/nameToArmorId";
|
||||||
import { resolveArmor } from "../../../core/blitzkit/resolveThickness";
|
import { resolveArmor } from "../core/blitzkit/resolveThickness";
|
||||||
import { controlsEnabledEvent } from "../../../core/controlsEnabled";
|
import { controlsEnabledEvent } from "../core/controlsEnabled";
|
||||||
import { useArmor } from "../../../hooks/useArmor";
|
import { useArmor } from "../hooks/useArmor";
|
||||||
import { useModel } from "../../../hooks/useModel";
|
import { useModel } from "../hooks/useModel";
|
||||||
import { useTankModelDefinition } from "../../../hooks/useTankModelDefinition";
|
import { useTankModelDefinition } from "../hooks/useTankModelDefinition";
|
||||||
import { useTankTransform } from "../../../hooks/useTankTransform";
|
import { useTankTransform } from "../hooks/useTankTransform";
|
||||||
import { Duel } from "../../../stores/duel";
|
import { Duel } from "../stores/duel";
|
||||||
import { Tankopedia } from "../../../stores/tankopedia";
|
import { Tankopedia } from "../stores/tankopedia";
|
||||||
import { TankopediaPersistent } from "../../../stores/tankopediaPersistent";
|
import { TankopediaPersistent } from "../stores/tankopediaPersistent";
|
||||||
import { ModelTankWrapper } from "./ModelTankWrapper";
|
import { ModelTankWrapper } from "./ModelTankWrapper";
|
||||||
import { ArmorType } from "./SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
import { StaticArmorSceneComponent } from "./StaticArmorSceneComponent";
|
import { StaticArmorSceneComponent } from "./StaticArmorSceneComponent";
|
||||||
+9
-9
@@ -16,18 +16,18 @@ import {
|
|||||||
Quaternion,
|
Quaternion,
|
||||||
Vector3,
|
Vector3,
|
||||||
} from "three";
|
} from "three";
|
||||||
import { unrotateDavaVector } from "../../../core/blitz/unrotateDavaVector";
|
import { unrotateDavaVector } from "../core/blitz/unrotateDavaVector";
|
||||||
import { jsxTree } from "../../../core/blitzkit/jsxTree";
|
import { jsxTree } from "../core/blitzkit/jsxTree";
|
||||||
import {
|
import {
|
||||||
modelTransformEvent,
|
modelTransformEvent,
|
||||||
type ModelTransformEventData,
|
type ModelTransformEventData,
|
||||||
} from "../../../core/blitzkit/modelTransform";
|
} from "../core/blitzkit/modelTransform";
|
||||||
import { defaultEqualizer } from "../../../core/blitzkit/tankToDuelMember";
|
import { defaultEqualizer } from "../core/blitzkit/tankToDuelMember";
|
||||||
import { discardClippingPlane } from "../../../core/three/discardClippingPlane";
|
import { discardClippingPlane } from "../core/three/discardClippingPlane";
|
||||||
import { useEquipment } from "../../../hooks/useEquipment";
|
import { useEquipment } from "../hooks/useEquipment";
|
||||||
import { Duel } from "../../../stores/duel";
|
import { Duel } from "../stores/duel";
|
||||||
import { Tankopedia } from "../../../stores/tankopedia";
|
import { Tankopedia } from "../stores/tankopedia";
|
||||||
import { transitionEvent } from "../../Lighting";
|
import { transitionEvent } from "./Lighting";
|
||||||
import { ArmorType } from "./SpacedArmorScene";
|
import { ArmorType } from "./SpacedArmorScene";
|
||||||
import type {
|
import type {
|
||||||
ArmorUserData,
|
ArmorUserData,
|
||||||
@@ -12,7 +12,7 @@ import { useModel } from "../hooks/useModel";
|
|||||||
import { useTankTransform } from "../hooks/useTankTransform";
|
import { useTankTransform } from "../hooks/useTankTransform";
|
||||||
import { Tankopedia } from "../stores/tankopedia";
|
import { Tankopedia } from "../stores/tankopedia";
|
||||||
import { TankopediaDisplay } from "../stores/tankopediaPersistent/constants";
|
import { TankopediaDisplay } from "../stores/tankopediaPersistent/constants";
|
||||||
import { ModelTankWrapper } from "./Armor/components/ModelTankWrapper";
|
import { ModelTankWrapper } from "./ModelTankWrapper";
|
||||||
|
|
||||||
export function TankModel() {
|
export function TankModel() {
|
||||||
const protagonist = Duel.use((draft) => draft.protagonist);
|
const protagonist = Duel.use((draft) => draft.protagonist);
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ import { Tankopedia } from "../../../../../../stores/tankopedia";
|
|||||||
import { TankopediaPersistent } from "../../../../../../stores/tankopediaPersistent";
|
import { TankopediaPersistent } from "../../../../../../stores/tankopediaPersistent";
|
||||||
import { TankopediaDisplay } from "../../../../../../stores/tankopediaPersistent/constants";
|
import { TankopediaDisplay } from "../../../../../../stores/tankopediaPersistent/constants";
|
||||||
import type { MaybeSkeletonComponentProps } from "../../../../../../types/maybeSkeletonComponentProps";
|
import type { MaybeSkeletonComponentProps } from "../../../../../../types/maybeSkeletonComponentProps";
|
||||||
import type { ThicknessRange } from "../../../../../Armor/components/StaticArmor";
|
import type { ThicknessRange } from "../../../../../StaticArmor";
|
||||||
import { DynamicArmorSwitcher } from "./DynamicArmorSwitcher";
|
import { DynamicArmorSwitcher } from "./DynamicArmorSwitcher";
|
||||||
|
|
||||||
type ThicknessesProps = MaybeSkeletonComponentProps & {
|
type ThicknessesProps = MaybeSkeletonComponentProps & {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ import { Tankopedia } from "../../../../../stores/tankopedia";
|
|||||||
import { TankopediaPersistent } from "../../../../../stores/tankopediaPersistent";
|
import { TankopediaPersistent } from "../../../../../stores/tankopediaPersistent";
|
||||||
import { TankopediaDisplay } from "../../../../../stores/tankopediaPersistent/constants";
|
import { TankopediaDisplay } from "../../../../../stores/tankopediaPersistent/constants";
|
||||||
import type { MaybeSkeletonComponentProps } from "../../../../../types/maybeSkeletonComponentProps";
|
import type { MaybeSkeletonComponentProps } from "../../../../../types/maybeSkeletonComponentProps";
|
||||||
import type { ThicknessRange } from "../../../../Armor/components/StaticArmor";
|
import type { ThicknessRange } from "../../../../StaticArmor";
|
||||||
import { EqualIcon } from "../../../../EqualIcon";
|
import { EqualIcon } from "../../../../EqualIcon";
|
||||||
import { ModuleButton } from "../../../../ModuleButtons/ModuleButton";
|
import { ModuleButton } from "../../../../ModuleButtons/ModuleButton";
|
||||||
import { ScreenshotButton } from "../../../../ScreenshotButton";
|
import { ScreenshotButton } from "../../../../ScreenshotButton";
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ import { useModel } from "../../../../../../../hooks/useModel";
|
|||||||
import { useTankModelDefinition } from "../../../../../../../hooks/useTankModelDefinition";
|
import { useTankModelDefinition } from "../../../../../../../hooks/useTankModelDefinition";
|
||||||
import { useTankTransform } from "../../../../../../../hooks/useTankTransform";
|
import { useTankTransform } from "../../../../../../../hooks/useTankTransform";
|
||||||
import { Duel } from "../../../../../../../stores/duel";
|
import { Duel } from "../../../../../../../stores/duel";
|
||||||
import { ModelTankWrapper } from "../../../../../../Armor/components/ModelTankWrapper";
|
import { ModelTankWrapper } from "../../../../../../ModelTankWrapper";
|
||||||
import fragmentShader from "./shaders/fragment.glsl?raw";
|
import fragmentShader from "./shaders/fragment.glsl?raw";
|
||||||
import vertexShader from "./shaders/vertex.glsl?raw";
|
import vertexShader from "./shaders/vertex.glsl?raw";
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { useFullScreen } from "../../../hooks/useFullScreen";
|
|||||||
import { Duel } from "../../../stores/duel";
|
import { Duel } from "../../../stores/duel";
|
||||||
import { Tankopedia } from "../../../stores/tankopedia";
|
import { Tankopedia } from "../../../stores/tankopedia";
|
||||||
import type { MaybeSkeletonComponentProps } from "../../../types/maybeSkeletonComponentProps";
|
import type { MaybeSkeletonComponentProps } from "../../../types/maybeSkeletonComponentProps";
|
||||||
import type { ThicknessRange } from "../../Armor/components/StaticArmor";
|
import type { ThicknessRange } from "../../StaticArmor";
|
||||||
import { Options } from "./components/Options";
|
import { Options } from "./components/Options";
|
||||||
import { TankSandbox } from "./components/TankSandbox";
|
import { TankSandbox } from "./components/TankSandbox";
|
||||||
import { Title } from "./components/TankSandbox/Title";
|
import { Title } from "./components/TankSandbox/Title";
|
||||||
|
|||||||
@@ -14,19 +14,16 @@ import { useModel } from "../../hooks/useModel";
|
|||||||
import { Tankopedia } from "../../stores/tankopedia";
|
import { Tankopedia } from "../../stores/tankopedia";
|
||||||
import { TankopediaPersistent } from "../../stores/tankopediaPersistent";
|
import { TankopediaPersistent } from "../../stores/tankopediaPersistent";
|
||||||
import { TankopediaDisplay } from "../../stores/tankopediaPersistent/constants";
|
import { TankopediaDisplay } from "../../stores/tankopediaPersistent/constants";
|
||||||
import { Armor } from "../Armor";
|
import { ArmorPlateDisplay } from "../ArmorPlateDisplay";
|
||||||
import { ArmorPlateDisplay } from "../Armor/components/ArmorPlateDisplay";
|
|
||||||
import { ShotDisplay } from "../Armor/components/ShotDisplay";
|
|
||||||
import {
|
|
||||||
StaticArmor,
|
|
||||||
type ThicknessRange,
|
|
||||||
} from "../Armor/components/StaticArmor";
|
|
||||||
import { CanvasAutoClear } from "../CanvasAutoClear";
|
import { CanvasAutoClear } from "../CanvasAutoClear";
|
||||||
import { CanvasControl } from "../CanvasControl";
|
import { CanvasControl } from "../CanvasControl";
|
||||||
|
import { DynamicArmor } from "../DynamicArmor";
|
||||||
import { InitialCameraAligner } from "../InitialCameraAligner";
|
import { InitialCameraAligner } from "../InitialCameraAligner";
|
||||||
import { Lighting } from "../Lighting";
|
import { Lighting } from "../Lighting";
|
||||||
import { SceneProps } from "../SceneProps";
|
import { SceneProps } from "../SceneProps";
|
||||||
|
import { ShotDisplay } from "../ShotDisplay";
|
||||||
import { SmartCanvas } from "../SmartCanvas";
|
import { SmartCanvas } from "../SmartCanvas";
|
||||||
|
import { StaticArmor, type ThicknessRange } from "../StaticArmor";
|
||||||
import { TankModel } from "../TankModel";
|
import { TankModel } from "../TankModel";
|
||||||
import styles from "./index.module.css";
|
import styles from "./index.module.css";
|
||||||
|
|
||||||
@@ -187,7 +184,7 @@ export const TankopediaSandbox = forwardRef<
|
|||||||
{/* Controls within Suspense to allow for frame-perfect start of camera auto-rotate */}
|
{/* Controls within Suspense to allow for frame-perfect start of camera auto-rotate */}
|
||||||
<CanvasControl />
|
<CanvasControl />
|
||||||
|
|
||||||
{display === TankopediaDisplay.DynamicArmor && <Armor />}
|
{display === TankopediaDisplay.DynamicArmor && <DynamicArmor />}
|
||||||
{display === TankopediaDisplay.StaticArmor && (
|
{display === TankopediaDisplay.StaticArmor && (
|
||||||
<StaticArmor thicknessRange={thicknessRange} />
|
<StaticArmor thicknessRange={thicknessRange} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import type {
|
|||||||
import type { Vector3 } from "three";
|
import type { Vector3 } from "three";
|
||||||
import { Varuna } from "varuna";
|
import { Varuna } from "varuna";
|
||||||
import { api } from "../api/dynamic";
|
import { api } from "../api/dynamic";
|
||||||
import type { ArmorType } from "../components/Armor/components/SpacedArmorScene";
|
import type { ArmorType } from "../components/SpacedArmorScene";
|
||||||
import type { ExternalModuleVariant } from "../components/Armor/components/SpacedArmorSceneComponent";
|
import type { ExternalModuleVariant } from "../components/SpacedArmorSceneComponent";
|
||||||
import type { XP_MULTIPLIERS } from "../components/Tankopedia/TechTreeSection";
|
import type { XP_MULTIPLIERS } from "../components/Tankopedia/TechTreeSection";
|
||||||
import { createTankState } from "../tankopedia/createTankState";
|
import { createTankState } from "../tankopedia/createTankState";
|
||||||
import type { TankState } from "../tankopedia/tankState";
|
import type { TankState } from "../tankopedia/tankState";
|
||||||
|
|||||||
Reference in new issue
Block a user