Some UI bloat

This commit is contained in:
Robert Bendun 2021-04-19 11:11:22 +02:00
parent ef225fc850
commit 821b7b739e
1 changed files with 42 additions and 41 deletions

View File

@ -1,46 +1,31 @@
class Products { class Products {
constructor(canvas) { constructor(canvas) {
this.gridProducts = [ const { random, floor } = Math
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
['','', '', '', '', '', '', '', ''],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
['','', '', '', '', '', '', '', ''],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()],
[Product.RANDOM_FROM_REGISTRY(),'', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY(), Product.RANDOM_FROM_REGISTRY(), '', Product.RANDOM_FROM_REGISTRY()]
];
this.gridProducts = []
this.gridProductsAmount = [] this.gridProductsAmount = []
for (let i = 0; i < 20; ++i) { for (let i = 0; i < 20; ++i) {
const current = [] const gridProductsColumn = []
const gridProductsAmountColumn = []
for (let j = 0; j < 9; ++j) { for (let j = 0; j < 9; ++j) {
if (j % 3 != 1) if (j % 3 != 1) {
current.push(50); gridProductsColumn.push(Product.RANDOM_FROM_REGISTRY());
else gridProductsAmountColumn.push(floor(random() * 51));
current.push(''); } else {
gridProductsColumn.push('');
gridProductsAmountColumn.push('');
} }
this.gridProductsAmount.push(current); }
this.gridProducts.push(gridProductsColumn);
this.gridProductsAmount.push(gridProductsAmountColumn);
} }
this.ctx = canvas.getContext('2d'); this.ctx = canvas.getContext('2d');
this.setCanvasSize(canvas); this.setCanvasSize(canvas);
this.update(); this.update();
} }
setCanvasSize (canvas) { setCanvasSize (canvas) {
@ -74,21 +59,28 @@ class Products {
return number; return number;
} }
getJobRequest() {
}
product(x, y, v, productsKey, productsValue) { product(x, y, v, productsKey, productsValue) {
let fontSize = 40; let fontSize = 40;
this.ctx.font = `900 ${fontSize}px "Font Awesome 5 Free"`; this.ctx.font = `900 ${fontSize}px "Font Awesome 5 Free"`;
this.ctx.textAlign = "center"; this.ctx.textAlign = "center";
if (v <= 10){
this.ctx.fillStyle = '#ff0000'; // make color of icon on white -> red spectrum, where
} // white - full shelf
else if(v <= 25){ // red - empty shelf
this.ctx.fillStyle = '#ffe700'; const t = Math.cbrt
} let color = Math.floor(t(v / 50) * 255).toString(16)
else { if (color.length == 1)
this.ctx.fillStyle = '#74ee15'; color = "0" + color
} this.ctx.fillStyle = `#ff${color}${color}`;
let productsColumn = this.gridProducts[productsKey]; let productsColumn = this.gridProducts[productsKey];
let prdct = productsColumn[productsValue]; let prdct = productsColumn[productsValue];
this.ctx.font = '900 40px "Font Awesome 5 Free"';
this.ctx.textAlign = 'center';
this.ctx.fillText(prdct.icon, x+50, y+60); this.ctx.fillText(prdct.icon, x+50, y+60);
} }
@ -103,7 +95,16 @@ class Products {
} }
} }
setProductAt(product, count, x, y) { /**
// TODO: Implement this function * @param {Product} incomingProduct
* @param {number} incomingAmount
* @returns {{product: Product; amount: number} | } Old shelf content
*/
exchange(x, y, incomingProduct, incomingAmount) {
const product = this.gridProducts[x][y]
const amount = this.gridProductsAmount[x][y]
this.gridProducts[x][y] = incomingProduct
this.gridProductsAmount[x][y] = incomingAmount
return { product, amount }
} }
} }