1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

Refactor rotation overview matrices

This commit is contained in:
tobspr
2020-08-11 18:50:43 +02:00
parent 850461df8f
commit a32c0530bb
3 changed files with 58 additions and 34 deletions

View File

@@ -1,4 +1,4 @@
import { formatItemsPerSecond } from "../../core/utils";
import { formatItemsPerSecond, generateMatrixRotations } from "../../core/utils";
import { enumAngleToDirection, enumDirection, Vector } from "../../core/vector";
import { SOUNDS } from "../../platform/sound";
import { T } from "../../translations";
@@ -10,26 +10,9 @@ import { GameRoot } from "../root";
export const arrayBeltVariantToRotation = [enumDirection.top, enumDirection.left, enumDirection.right];
export const beltOverlayMatrices = {
[enumDirection.top]: {
0: [0, 1, 0, 0, 1, 0, 0, 1, 0],
90: [0, 0, 0, 1, 1, 1, 0, 0, 0],
180: [0, 1, 0, 0, 1, 0, 0, 1, 0],
270: [0, 0, 0, 1, 1, 1, 0, 0, 0],
},
[enumDirection.left]: {
0: [0, 0, 0, 1, 1, 0, 0, 1, 0],
90: [0, 1, 0, 1, 1, 0, 0, 0, 0],
180: [0, 1, 0, 0, 1, 1, 0, 0, 0],
270: [0, 0, 0, 0, 1, 1, 0, 1, 0],
},
[enumDirection.right]: {
0: [0, 0, 0, 0, 1, 1, 0, 1, 0],
90: [0, 0, 0, 1, 1, 0, 0, 1, 0],
180: [0, 1, 0, 1, 1, 0, 0, 0, 0],
270: [0, 1, 0, 0, 1, 1, 0, 0, 0],
},
[enumDirection.top]: generateMatrixRotations([0, 1, 0, 0, 1, 0, 0, 1, 0]),
[enumDirection.left]: generateMatrixRotations([0, 0, 0, 1, 1, 0, 0, 1, 0]),
[enumDirection.right]: generateMatrixRotations([0, 0, 0, 0, 1, 1, 0, 1, 0]),
};
export class MetaBeltBaseBuilding extends MetaBuilding {

View File

@@ -8,7 +8,7 @@ import { MetaBuilding, defaultBuildingVariant } from "../meta_building";
import { GameRoot, enumLayer } from "../root";
import { globalConfig } from "../../core/config";
import { enumHubGoalRewards } from "../tutorial_goals";
import { formatItemsPerSecond } from "../../core/utils";
import { formatItemsPerSecond, generateMatrixRotations } from "../../core/utils";
import { T } from "../../translations";
/** @enum {string} */
@@ -27,20 +27,10 @@ export const enumUndergroundBeltVariantToTier = {
const overlayMatrices = [
// Sender
{
0: [1, 1, 1, 0, 1, 0, 0, 1, 0],
90: [0, 0, 1, 1, 1, 1, 0, 0, 1],
180: [0, 1, 0, 0, 1, 0, 1, 1, 1],
270: [1, 0, 0, 1, 1, 1, 1, 0, 0],
},
generateMatrixRotations([1, 1, 1, 0, 1, 0, 0, 1, 0]),
// Receiver
{
0: [0, 1, 0, 0, 1, 0, 1, 1, 1],
90: [1, 0, 0, 1, 1, 1, 1, 0, 0],
180: [1, 1, 1, 0, 1, 0, 0, 1, 0],
270: [0, 0, 1, 1, 1, 1, 0, 0, 1],
},
generateMatrixRotations([0, 1, 0, 0, 1, 0, 1, 1, 1]),
];
export class MetaUndergroundBeltBuilding extends MetaBuilding {