fix: use new quicklime controls enabled

This commit is contained in:
TrèsAbhi committed 2025-10-02 10:19:50 -05:00
1 parent 320a764d45
commit aadc252e47
4 files changed
+29 -51

No files matched your search

@@ -7,6 +7,7 @@ import { hasEquipment } from "../../../core/blitzkit/hasEquipment";
import { modelTransformEvent } from "../../../core/blitzkit/modelTransform";
import { nameToArmorId } from "../../../core/blitzkit/nameToArmorId";
import { resolveArmor } from "../../../core/blitzkit/resolveThickness";
import { controlsEnabledEvent } from "../../../core/controlsEnabled";
import { useArmor } from "../../../hooks/useArmor";
import { useModel } from "../../../hooks/useModel";
import { useTankModelDefinition } from "../../../hooks/useTankModelDefinition";
@@ -154,9 +155,8 @@ export const StaticArmor = memo<ArmorSceneProps>(({ thicknessRange }) => {
position.set(event.clientX, event.clientY);
Tankopedia.mutate((draft) => {
draft.controlsEnabled = false;
});
controlsEnabledEvent.dispatch(false);
Tankopedia.mutate((draft) => {
draft.shot = undefined;
draft.highlightArmor = undefined;
@@ -192,9 +192,7 @@ export const StaticArmor = memo<ArmorSceneProps>(({ thicknessRange }) => {
modelTransformEvent.dispatch({ pitch, yaw });
}
function handlePointerUp() {
Tankopedia.mutate((draft) => {
draft.controlsEnabled = true;
});
controlsEnabledEvent.dispatch(true);
window.removeEventListener("pointermove", handlePointerMove);
window.removeEventListener("pointerup", handlePointerUp);
}
@@ -243,9 +241,7 @@ export const StaticArmor = memo<ArmorSceneProps>(({ thicknessRange }) => {
function onPointerDown(event: ThreeEvent<PointerEvent>) {
event.stopPropagation();
Tankopedia.mutate((draft) => {
draft.controlsEnabled = false;
});
controlsEnabledEvent.dispatch(false);
Tankopedia.mutate((draft) => {
draft.shot = undefined;
draft.highlightArmor = undefined;
@@ -284,9 +280,7 @@ export const StaticArmor = memo<ArmorSceneProps>(({ thicknessRange }) => {
modelTransformEvent.dispatch({ pitch, yaw });
}
function handlePointerUp() {
Tankopedia.mutate((draft) => {
draft.controlsEnabled = true;
});
controlsEnabledEvent.dispatch(true);
window.removeEventListener("pointermove", handlePointerMove);
window.removeEventListener("pointerup", handlePointerUp);
}
@@ -324,9 +318,7 @@ export const StaticArmor = memo<ArmorSceneProps>(({ thicknessRange }) => {
function onPointerDown(event: ThreeEvent<PointerEvent>) {
event.stopPropagation();
Tankopedia.mutate((draft) => {
draft.controlsEnabled = false;
});
controlsEnabledEvent.dispatch(false);
Tankopedia.mutate((draft) => {
draft.shot = undefined;
draft.highlightArmor = undefined;
@@ -364,9 +356,7 @@ export const StaticArmor = memo<ArmorSceneProps>(({ thicknessRange }) => {
modelTransformEvent.dispatch({ pitch, yaw });
}
function handlePointerUp() {
Tankopedia.mutate((draft) => {
draft.controlsEnabled = true;
});
controlsEnabledEvent.dispatch(true);
window.removeEventListener("pointermove", handlePointerMove);
window.removeEventListener("pointerup", handlePointerUp);
@@ -5,6 +5,7 @@ import { applyPitchYawLimits } from "../../../../../../core/blitz/applyPitchYawL
import { hasEquipment } from "../../../../../../core/blitzkit/hasEquipment";
import { jsxTree } from "../../../../../../core/blitzkit/jsxTree";
import { modelTransformEvent } from "../../../../../../core/blitzkit/modelTransform";
import { controlsEnabledEvent } from "../../../../../../core/controlsEnabled";
import { useModel } from "../../../../../../hooks/useModel";
import { useTankModelDefinition } from "../../../../../../hooks/useTankModelDefinition";
import { useTankTransform } from "../../../../../../hooks/useTankTransform";
@@ -62,9 +63,7 @@ export function TankModel() {
position.set(event.clientX, event.clientY);
event.stopPropagation();
Tankopedia.mutate((draft) => {
draft.controlsEnabled = false;
});
controlsEnabledEvent.dispatch(false);
window.addEventListener("pointermove", handlePointerMove);
window.addEventListener("pointerup", handlePointerUp);
@@ -81,9 +80,7 @@ export function TankModel() {
translateTexture(deltaX + deltaY);
}
function handlePointerUp() {
Tankopedia.mutate((draft) => {
draft.controlsEnabled = true;
});
controlsEnabledEvent.dispatch(true);
window.removeEventListener("pointermove", handlePointerMove);
window.removeEventListener("pointerup", handlePointerUp);
@@ -123,9 +120,7 @@ export function TankModel() {
position.set(event.clientX, event.clientY);
Tankopedia.mutate((draft) => {
draft.controlsEnabled = false;
});
controlsEnabledEvent.dispatch(false);
Tankopedia.mutate((draft) => {
draft.shot = undefined;
draft.highlightArmor = undefined;
@@ -161,9 +156,7 @@ export function TankModel() {
modelTransformEvent.dispatch({ pitch, yaw });
}
function handlePointerUp() {
Tankopedia.mutate((draft) => {
draft.controlsEnabled = true;
});
controlsEnabledEvent.dispatch(true);
window.removeEventListener("pointermove", handlePointerMove);
window.removeEventListener("pointerup", handlePointerUp);
}
@@ -205,9 +198,7 @@ export function TankModel() {
function onPointerDown(event: ThreeEvent<PointerEvent>) {
event.stopPropagation();
Tankopedia.mutate((draft) => {
draft.controlsEnabled = false;
});
controlsEnabledEvent.dispatch(false);
Tankopedia.mutate((draft) => {
draft.shot = undefined;
draft.highlightArmor = undefined;
@@ -246,9 +237,7 @@ export function TankModel() {
modelTransformEvent.dispatch({ pitch, yaw });
}
function handlePointerUp() {
Tankopedia.mutate((draft) => {
draft.controlsEnabled = true;
});
controlsEnabledEvent.dispatch(true);
window.removeEventListener("pointermove", handlePointerMove);
window.removeEventListener("pointerup", handlePointerUp);
}
+14 -14
View File
@@ -4,24 +4,24 @@ import {
K_HAT,
TrackDefinition,
TurretDefinition,
} from '@blitzkit/core';
import { invalidate } from '@react-three/fiber';
import type { QuicklimeEvent } from 'quicklime';
import { type RefObject, useEffect } from 'react';
import { Euler, Group, Vector3 } from 'three';
import { degToRad } from 'three/src/math/MathUtils.js';
import { correctZYTuple } from '../core/blitz/correctZYTuple';
} from "@blitzkit/core";
import { invalidate } from "@react-three/fiber";
import type { QuicklimeEvent } from "quicklime";
import { type RefObject, useEffect } from "react";
import { Euler, Group, Vector3 } from "three";
import { degToRad } from "three/src/math/MathUtils.js";
import { correctZYTuple } from "../core/blitz/correctZYTuple";
import {
modelTransformEvent,
type ModelTransformEventData,
} from '../core/blitzkit/modelTransform';
import { useTankModelDefinition } from './useTankModelDefinition';
} from "../core/blitzkit/modelTransform";
import { useTankModelDefinition } from "./useTankModelDefinition";
export function useTankTransform(
track: TrackDefinition,
turret: TurretDefinition,
turretContainer: RefObject<Group>,
gunContainer: RefObject<Group>,
gunContainer: RefObject<Group>
) {
const tankModelDefinition = useTankModelDefinition();
@@ -37,7 +37,7 @@ export function useTankTransform(
const gunRotation = new Euler();
function handleModelTransform(
event: QuicklimeEvent<ModelTransformEventData>,
event: QuicklimeEvent<ModelTransformEventData>
) {
handleModelTransformInner(event.data);
}
@@ -70,13 +70,13 @@ export function useTankTransform(
if (tankModelDefinition.initial_turret_rotation) {
const initialPitch = -degToRad(
tankModelDefinition.initial_turret_rotation.pitch,
tankModelDefinition.initial_turret_rotation.pitch
);
const initialYaw = -degToRad(
tankModelDefinition.initial_turret_rotation.yaw,
tankModelDefinition.initial_turret_rotation.yaw
);
const initialRoll = -degToRad(
tankModelDefinition.initial_turret_rotation.roll,
tankModelDefinition.initial_turret_rotation.roll
);
turretPosition
@@ -113,7 +113,6 @@ export const Tankopedia = new Varuna<Tankopedia, ModelDefinition>((model) => ({
editStatic: false,
skills: createDefaultSkills(skillDefinitions),
model,
controlsEnabled: true,
xpMultiplier: 1,
display: TankopediaDisplay.Model,
}));