mirror of
https://github.com/tobspr/shapez.io.git
synced 2026-03-02 03:39:21 +00:00
Add constant signal emitters
This commit is contained in:
53
src/js/game/items/boolean_item.js
Normal file
53
src/js/game/items/boolean_item.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { Loader } from "../../core/loader";
|
||||
import { types } from "../../savegame/serialization";
|
||||
import { BaseItem, enumItemType } from "../base_item";
|
||||
|
||||
export class BooleanItem extends BaseItem {
|
||||
static getId() {
|
||||
return "boolean_item";
|
||||
}
|
||||
|
||||
static getSchema() {
|
||||
return types.uint;
|
||||
}
|
||||
|
||||
serialize() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
deserialize(data) {
|
||||
this.value = data;
|
||||
}
|
||||
|
||||
getItemType() {
|
||||
return enumItemType.boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
*/
|
||||
constructor(value) {
|
||||
super();
|
||||
this.value = value ? 1 : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} size
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(x, y, parameters, size = 12) {
|
||||
let sprite;
|
||||
if (this.value) {
|
||||
sprite = Loader.getSprite("sprites/wires/boolean_true.png");
|
||||
} else {
|
||||
sprite = Loader.getSprite("sprites/wires/boolean_false.png");
|
||||
}
|
||||
sprite.drawCachedCentered(parameters, x, y, size * 1.5);
|
||||
}
|
||||
}
|
||||
|
||||
export const BOOL_FALSE_SINGLETON = new BooleanItem(0);
|
||||
export const BOOL_TRUE_SINGLETON = new BooleanItem(1);
|
||||
@@ -1,37 +0,0 @@
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { Loader } from "../../core/loader";
|
||||
import { types } from "../../savegame/serialization";
|
||||
import { BaseItem, enumItemType } from "../base_item";
|
||||
|
||||
export class NegativeEnergyItem extends BaseItem {
|
||||
static getId() {
|
||||
return "negative_energy";
|
||||
}
|
||||
|
||||
static getSchema() {
|
||||
return types.uint;
|
||||
}
|
||||
|
||||
serialize() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
deserialize(data) {}
|
||||
|
||||
getItemType() {
|
||||
return enumItemType.negativeEnergy;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} size
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(x, y, parameters, size = 12) {
|
||||
const sprite = Loader.getSprite("sprites/wires/negative_energy.png");
|
||||
sprite.drawCachedCentered(parameters, x, y, size * 1.5);
|
||||
}
|
||||
}
|
||||
|
||||
export const NEGATIVE_ENERGY_ITEM_SINGLETON = new NegativeEnergyItem();
|
||||
@@ -1,37 +0,0 @@
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { Loader } from "../../core/loader";
|
||||
import { types } from "../../savegame/serialization";
|
||||
import { BaseItem, enumItemType } from "../base_item";
|
||||
|
||||
export class PositiveEnergyItem extends BaseItem {
|
||||
static getId() {
|
||||
return "positive_energy";
|
||||
}
|
||||
|
||||
static getSchema() {
|
||||
return types.uint;
|
||||
}
|
||||
|
||||
serialize() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
deserialize(data) {}
|
||||
|
||||
getItemType() {
|
||||
return enumItemType.positiveEnergy;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} size
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
draw(x, y, parameters, size = 12) {
|
||||
const sprite = Loader.getSprite("sprites/wires/positive_energy.png");
|
||||
sprite.drawCachedCentered(parameters, x, y, size * 1.5);
|
||||
}
|
||||
}
|
||||
|
||||
export const POSITIVE_ENERGY_ITEM_SINGLETON = new PositiveEnergyItem();
|
||||
Reference in New Issue
Block a user