mirror of
https://github.com/exogen/t2-mapper.git
synced 2026-01-19 20:25:01 +00:00
case insensitive dataBlock lookup, fix orientation
This commit is contained in:
parent
6473fd6ec3
commit
3a99e77e96
|
|
@ -11,8 +11,22 @@ import { ShapeModel, ShapePlaceholder } from "./GenericShape";
|
|||
|
||||
const dataBlockToShapeName = {
|
||||
RepairPack: "pack_upgrade_repair.dts",
|
||||
Flag: "flag.dts",
|
||||
};
|
||||
|
||||
let _caseInsensitiveLookup: Record<string, string>;
|
||||
|
||||
function getDataBlockShape(dataBlock: string) {
|
||||
if (!_caseInsensitiveLookup) {
|
||||
_caseInsensitiveLookup = Object.fromEntries(
|
||||
Object.entries(dataBlockToShapeName).map(([key, value]) => {
|
||||
return [key.toLowerCase(), value];
|
||||
})
|
||||
);
|
||||
}
|
||||
return _caseInsensitiveLookup[dataBlock.toLowerCase()];
|
||||
}
|
||||
|
||||
export function Item({ object }: { object: ConsoleObject }) {
|
||||
const dataBlock = getProperty(object, "dataBlock").value;
|
||||
|
||||
|
|
@ -20,7 +34,7 @@ export function Item({ object }: { object: ConsoleObject }) {
|
|||
const [scaleX, scaleY, scaleZ] = useMemo(() => getScale(object), [object]);
|
||||
const q = useMemo(() => getRotation(object, true), [object]);
|
||||
|
||||
const shapeName = dataBlockToShapeName[dataBlock];
|
||||
const shapeName = getDataBlockShape(dataBlock);
|
||||
|
||||
return (
|
||||
<group
|
||||
|
|
|
|||
|
|
@ -12,8 +12,23 @@ import { ShapeModel, ShapePlaceholder } from "./GenericShape";
|
|||
const dataBlockToShapeName = {
|
||||
StationInventory: "station_inv_human.dts",
|
||||
SensorLargePulse: "sensor_pulse_large.dts",
|
||||
GeneratorLarge: "station_generator_large.dts",
|
||||
SolarPanel: "solarpanel.dts",
|
||||
};
|
||||
|
||||
let _caseInsensitiveLookup: Record<string, string>;
|
||||
|
||||
function getDataBlockShape(dataBlock: string) {
|
||||
if (!_caseInsensitiveLookup) {
|
||||
_caseInsensitiveLookup = Object.fromEntries(
|
||||
Object.entries(dataBlockToShapeName).map(([key, value]) => {
|
||||
return [key.toLowerCase(), value];
|
||||
})
|
||||
);
|
||||
}
|
||||
return _caseInsensitiveLookup[dataBlock.toLowerCase()];
|
||||
}
|
||||
|
||||
export function StaticShape({ object }: { object: ConsoleObject }) {
|
||||
const dataBlock = getProperty(object, "dataBlock").value;
|
||||
|
||||
|
|
@ -21,13 +36,13 @@ export function StaticShape({ object }: { object: ConsoleObject }) {
|
|||
const [scaleX, scaleY, scaleZ] = useMemo(() => getScale(object), [object]);
|
||||
const q = useMemo(() => getRotation(object, true), [object]);
|
||||
|
||||
const shapeName = dataBlockToShapeName[dataBlock];
|
||||
const shapeName = getDataBlockShape(dataBlock);
|
||||
|
||||
return (
|
||||
<group
|
||||
quaternion={q}
|
||||
position={[x - 1024, y, z - 1024]}
|
||||
scale={[-scaleX, scaleY, -scaleZ]}
|
||||
scale={[-scaleX, scaleY, scaleZ]}
|
||||
>
|
||||
{shapeName ? (
|
||||
<ErrorBoundary fallback={<ShapePlaceholder color="red" />}>
|
||||
|
|
|
|||
Loading…
Reference in a new issue