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

Fix energy generator being not rotateable

This commit is contained in:
tobspr
2020-07-06 19:31:00 +02:00
parent 0bba6a9d79
commit 54be64c0e2
17 changed files with 781 additions and 717 deletions

View File

@@ -14,10 +14,6 @@ export class MetaEnergyGenerator extends MetaBuilding {
super("energy_generator");
}
isRotateable(variant) {
return false;
}
getSilhouetteColor() {
return "#c425d7";
}

View File

@@ -1,5 +1,5 @@
import { types } from "../../savegame/serialization";
import { BaseItem } from "../base_item";
import { BaseItem, enumItemType } from "../base_item";
import { Component } from "../component";
import { ShapeItem } from "../items/shape_item";
@@ -59,6 +59,22 @@ export class EnergyGeneratorComponent extends Component {
// just destroy it
return true;
} else {
if (item.getItemType() !== enumItemType.shape) {
// This shouldn't happen since we have a filter - still, it doesn't hurt
// to check either
assertAlways(
false,
"Energy generator took wrong item: " +
item.getItemType() +
" on slot " +
slot +
" (waste slot = " +
this.wasteAcceptorSlotIndex +
")"
);
return false;
}
if (/** @type {ShapeItem} */ (item).definition.getHash() !== this.requiredKey) {
// Not our shape
return false;

View File

@@ -6,10 +6,14 @@ import { Entity } from "../entity";
import { GameSystemWithFilter } from "../game_system_with_filter";
import { POSITIVE_ENERGY_ITEM_SINGLETON } from "../items/positive_energy_item";
import { ShapeDefinition } from "../shape_definition";
import { Loader } from "../../core/loader";
import { globalConfig } from "../../core/config";
export class EnergyGeneratorSystem extends GameSystemWithFilter {
constructor(root) {
super(root, [EnergyGeneratorComponent]);
this.energyGeneratorOverlay = Loader.getSprite("sprites/misc/energy_generator_overlay.png");
}
draw(parameters) {
@@ -64,10 +68,18 @@ export class EnergyGeneratorSystem extends GameSystemWithFilter {
const pos = staticComp.getTileSpaceBounds().getCenter().toWorldSpace();
// TESTING
const definition = ShapeDefinition.fromShortKey(energyGenComp.requiredKey);
definition.draw(pos.x, pos.y, parameters, 30);
// Draw background
this.energyGeneratorOverlay.drawCachedCentered(
parameters,
pos.x,
pos.y,
globalConfig.tileSize * 2 + 8
);
// TODO
const energyGenerated = 5;
// deliver: Deliver