mirror of
https://github.com/tobspr/shapez.io.git
synced 2026-03-02 03:39:21 +00:00
Update artwork and minor fixes
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import { globalConfig } from "../../core/config";
|
||||
import { smoothenDpi } from "../../core/dpi_manager";
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { Loader } from "../../core/loader";
|
||||
import { types } from "../../savegame/serialization";
|
||||
import { BaseItem, enumItemType } from "../base_item";
|
||||
|
||||
@@ -23,11 +22,6 @@ export class NegativeEnergyItem extends BaseItem {
|
||||
return enumItemType.negativeEnergy;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.bufferGenerator = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
@@ -35,31 +29,8 @@ export class NegativeEnergyItem extends BaseItem {
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(x, y, parameters, size = 12) {
|
||||
if (!this.bufferGenerator) {
|
||||
this.bufferGenerator = this.internalGenerateBuffer.bind(this);
|
||||
}
|
||||
|
||||
const dpi = smoothenDpi(globalConfig.shapesSharpness * parameters.zoomLevel);
|
||||
|
||||
const key = "pos:" + size + "/" + dpi;
|
||||
const canvas = parameters.root.buffers.getForKey(key, "", size, size, dpi, this.bufferGenerator);
|
||||
parameters.context.drawImage(canvas, x - size / 2, y - size / 2, size, size);
|
||||
}
|
||||
/**
|
||||
* @param {HTMLCanvasElement} canvas
|
||||
* @param {CanvasRenderingContext2D} context
|
||||
* @param {number} w
|
||||
* @param {number} h
|
||||
* @param {number} dpi
|
||||
*/
|
||||
internalGenerateBuffer(canvas, context, w, h, dpi) {
|
||||
context.translate((w * dpi) / 2, (h * dpi) / 2);
|
||||
context.scale((dpi * w) / 12, (dpi * h) / 12);
|
||||
|
||||
context.strokeStyle = "#eee";
|
||||
context.lineWidth = 2;
|
||||
context.beginCircle(0, 0, 4);
|
||||
context.stroke();
|
||||
const sprite = Loader.getSprite("sprites/wires/negative_energy.png");
|
||||
sprite.drawCachedCentered(parameters, x, y, size * 1.5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { globalConfig } from "../../core/config";
|
||||
import { smoothenDpi } from "../../core/dpi_manager";
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { Loader } from "../../core/loader";
|
||||
import { types } from "../../savegame/serialization";
|
||||
import { BaseItem, enumItemType } from "../base_item";
|
||||
|
||||
@@ -23,11 +22,6 @@ export class PositiveEnergyItem extends BaseItem {
|
||||
return enumItemType.positiveEnergy;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.bufferGenerator = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
@@ -35,31 +29,8 @@ export class PositiveEnergyItem extends BaseItem {
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(x, y, parameters, size = 12) {
|
||||
if (!this.bufferGenerator) {
|
||||
this.bufferGenerator = this.internalGenerateBuffer.bind(this);
|
||||
}
|
||||
|
||||
const dpi = smoothenDpi(globalConfig.shapesSharpness * parameters.zoomLevel);
|
||||
|
||||
const key = "neg:" + size + "/" + dpi;
|
||||
const canvas = parameters.root.buffers.getForKey(key, "", size, size, dpi, this.bufferGenerator);
|
||||
parameters.context.drawImage(canvas, x - size / 2, y - size / 2, size, size);
|
||||
}
|
||||
/**
|
||||
* @param {HTMLCanvasElement} canvas
|
||||
* @param {CanvasRenderingContext2D} context
|
||||
* @param {number} w
|
||||
* @param {number} h
|
||||
* @param {number} dpi
|
||||
*/
|
||||
internalGenerateBuffer(canvas, context, w, h, dpi) {
|
||||
context.translate((w * dpi) / 2, (h * dpi) / 2);
|
||||
context.scale((dpi * w) / 12, (dpi * h) / 12);
|
||||
|
||||
context.fillStyle = "#eee";
|
||||
context.lineWidth = 1;
|
||||
context.beginCircle(0, 0, 4);
|
||||
context.fill();
|
||||
const sprite = Loader.getSprite("sprites/wires/positive_energy.png");
|
||||
sprite.drawCachedCentered(parameters, x, y, size * 1.5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user