mirror of
https://github.com/tobspr/shapez.io.git
synced 2026-03-02 03:39:21 +00:00
Further progress on the energy generator / wires, fix translations
This commit is contained in:
@@ -546,7 +546,6 @@ export class BeltSystem extends GameSystemWithFilter {
|
||||
return;
|
||||
}
|
||||
|
||||
parameters.context.globalAlpha = 0.5;
|
||||
const contents = chunk.wireContents;
|
||||
for (let y = 0; y < globalConfig.mapChunkSize; ++y) {
|
||||
for (let x = 0; x < globalConfig.mapChunkSize; ++x) {
|
||||
@@ -564,7 +563,6 @@ export class BeltSystem extends GameSystemWithFilter {
|
||||
}
|
||||
}
|
||||
}
|
||||
parameters.context.globalAlpha = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
48
src/js/game/systems/energy_consumer.js
Normal file
48
src/js/game/systems/energy_consumer.js
Normal file
@@ -0,0 +1,48 @@
|
||||
import { GameSystemWithFilter } from "../game_system_with_filter";
|
||||
import { EnergyConsumerComponent } from "../components/energy_consumer";
|
||||
import { Loader } from "../../core/loader";
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { Entity } from "../entity";
|
||||
import { enableImageSmoothing } from "../../core/buffer_utils";
|
||||
|
||||
export class EnergyConsumerSystem extends GameSystemWithFilter {
|
||||
constructor(root) {
|
||||
super(root, [EnergyConsumerComponent]);
|
||||
|
||||
this.batterySprites = [
|
||||
Loader.getSprite("sprites/wires/battery_empty.png"),
|
||||
Loader.getSprite("sprites/wires/battery_low.png"),
|
||||
Loader.getSprite("sprites/wires/battery_medium.png"),
|
||||
Loader.getSprite("sprites/wires/battery_full.png"),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws everything
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(parameters) {
|
||||
this.forEachMatchingEntityOnScreen(parameters, this.drawSingleEntity.bind(this));
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws a given entity
|
||||
* @param {DrawParameters} parameters
|
||||
* @param {Entity} entity
|
||||
*/
|
||||
drawSingleEntity(parameters, entity) {
|
||||
const staticComp = entity.components.StaticMapEntity;
|
||||
const consumerComp = entity.components.EnergyConsumer;
|
||||
|
||||
const position = staticComp
|
||||
.getTileSpaceBounds()
|
||||
.getCenter()
|
||||
.toWorldSpace()
|
||||
.add(consumerComp.batteryPosition);
|
||||
|
||||
const percentage = consumerComp.stored / consumerComp.bufferSize;
|
||||
|
||||
const index = Math.floor(percentage * this.batterySprites.length);
|
||||
this.batterySprites[index].drawCachedCentered(parameters, position.x, position.y, 12);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { formatBigNumber } from "../../core/utils";
|
||||
import { T } from "../../translations";
|
||||
import { EnergyGeneratorComponent, ENERGY_GENERATOR_EJECT_SLOT } from "../components/energy_generator";
|
||||
import { EnergyGeneratorComponent } from "../components/energy_generator";
|
||||
import { Entity } from "../entity";
|
||||
import { GameSystemWithFilter } from "../game_system_with_filter";
|
||||
import { POSITIVE_ENERGY_ITEM_SINGLETON } from "../items/positive_energy_item";
|
||||
@@ -36,7 +36,8 @@ export class EnergyGeneratorSystem extends GameSystemWithFilter {
|
||||
}
|
||||
|
||||
if (energyGenComp.itemsInQueue > 0) {
|
||||
if (ejectorComp.tryEject(ENERGY_GENERATOR_EJECT_SLOT, POSITIVE_ENERGY_ITEM_SINGLETON)) {
|
||||
// FIXME: Find slot dynamically
|
||||
if (ejectorComp.tryEject(0, POSITIVE_ENERGY_ITEM_SINGLETON)) {
|
||||
energyGenComp.itemsInQueue -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ export class WiredPinsSystem extends GameSystemWithFilter {
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws the given layer
|
||||
* Draws the pins
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(parameters) {
|
||||
@@ -35,7 +35,7 @@ export class WiredPinsSystem extends GameSystemWithFilter {
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws a given chunk
|
||||
* Draws a given entity
|
||||
* @param {DrawParameters} parameters
|
||||
* @param {Entity} entity
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user