mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 18:57:03 +02:00
fix: use new quicklime controls enabled
This commit is contained in:
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);
|
||||
|
||||
+7
-18
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
}));
|
||||
Reference in new issue
Block a user