@jamesrock/rockjs 1.20.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +13 -5
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -91,6 +91,14 @@ export const createNode = (type, className) => {
|
|
|
91
91
|
return node;
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
+
export const createSVGNode = (type = 'svg', className) => {
|
|
95
|
+
const node = document.createElementNS('http://www.w3.org/2000/svg', type);
|
|
96
|
+
if(className) {
|
|
97
|
+
node.classList.add(className);
|
|
98
|
+
};
|
|
99
|
+
return node;
|
|
100
|
+
};
|
|
101
|
+
|
|
94
102
|
export const createButton = (label = '{label}', className) => {
|
|
95
103
|
const btn = createNode('button', className);
|
|
96
104
|
btn.innerText = label;
|
|
@@ -334,7 +342,7 @@ export class GameBase extends DisplayObject {
|
|
|
334
342
|
export class BrickMaker extends DisplayObject {
|
|
335
343
|
constructor({
|
|
336
344
|
size = 4,
|
|
337
|
-
type = '
|
|
345
|
+
type = 'binary',
|
|
338
346
|
color = 'red',
|
|
339
347
|
scale = 30,
|
|
340
348
|
gap = 1,
|
|
@@ -351,8 +359,8 @@ export class BrickMaker extends DisplayObject {
|
|
|
351
359
|
this.prefix = prefix;
|
|
352
360
|
this.hexMap = size*size > 16 ? makeHexMap() : makeHexMap(false);
|
|
353
361
|
this.typeValues = {
|
|
354
|
-
'
|
|
355
|
-
'
|
|
362
|
+
'binary': makeArray(size*size, () => 1),
|
|
363
|
+
'hex': makeBitArray(size)
|
|
356
364
|
};
|
|
357
365
|
|
|
358
366
|
const node = this.node = createNode('div', 'brick-maker');
|
|
@@ -388,7 +396,7 @@ export class BrickMaker extends DisplayObject {
|
|
|
388
396
|
|
|
389
397
|
let total = null;
|
|
390
398
|
switch(this.type) {
|
|
391
|
-
case '
|
|
399
|
+
case 'binary':
|
|
392
400
|
total = makeArray(this.size*this.size, () => 0);
|
|
393
401
|
this.bits.forEach((bit, i) => {
|
|
394
402
|
if(bit.dataset.active==='Y') {
|
|
@@ -397,7 +405,7 @@ export class BrickMaker extends DisplayObject {
|
|
|
397
405
|
});
|
|
398
406
|
this.value = JSON.stringify(total);
|
|
399
407
|
break;
|
|
400
|
-
case '
|
|
408
|
+
case 'hex':
|
|
401
409
|
total = makeArray(this.size, () => 0);
|
|
402
410
|
makeArray(this.size).forEach((y) => {
|
|
403
411
|
this.bits.filter((bit) => bit.dataset.y == y).forEach((bit) => {
|