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

Add transistor building (Gate)

This commit is contained in:
tobspr
2020-08-13 20:47:33 +02:00
parent f44563fc05
commit ff02508361
17 changed files with 1015 additions and 877 deletions

View File

@@ -10,6 +10,7 @@ export const enumLogicGateVariants = {
not: "not",
xor: "xor",
or: "or",
transistor: "transistor",
};
/** @enum {string} */
@@ -18,6 +19,7 @@ export const enumVariantToGate = {
[enumLogicGateVariants.not]: enumLogicGateType.not,
[enumLogicGateVariants.xor]: enumLogicGateType.xor,
[enumLogicGateVariants.or]: enumLogicGateType.or,
[enumLogicGateVariants.transistor]: enumLogicGateType.transistor,
};
export class MetaLogicGateBuilding extends MetaBuilding {
@@ -51,6 +53,7 @@ export class MetaLogicGateBuilding extends MetaBuilding {
enumLogicGateVariants.not,
enumLogicGateVariants.xor,
enumLogicGateVariants.or,
enumLogicGateVariants.transistor,
];
}
@@ -88,6 +91,26 @@ export class MetaLogicGateBuilding extends MetaBuilding {
]);
break;
}
case enumLogicGateType.transistor: {
pinComp.setSlots([
{
pos: new Vector(0, 0),
direction: enumDirection.top,
type: enumPinSlotType.logicalEjector,
},
{
pos: new Vector(0, 0),
direction: enumDirection.left,
type: enumPinSlotType.logicalAcceptor,
},
{
pos: new Vector(0, 0),
direction: enumDirection.bottom,
type: enumPinSlotType.logicalAcceptor,
},
]);
break;
}
case enumLogicGateType.not: {
pinComp.setSlots([