@thegraid/hexlib 1.0.10 → 1.0.12
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/dist/game-play.d.ts +5 -3
- package/dist/game-play.d.ts.map +1 -1
- package/dist/game-play.js +2 -0
- package/dist/game-play.js.map +1 -1
- package/dist/hex.d.ts +78 -51
- package/dist/hex.d.ts.map +1 -1
- package/dist/hex.js +130 -87
- package/dist/hex.js.map +1 -1
- package/dist/table.d.ts +10 -7
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +22 -17
- package/dist/table.js.map +1 -1
- package/package.json +1 -1
package/dist/hex.js
CHANGED
|
@@ -7,7 +7,7 @@ export const S_Resign = 'Hex@Resign';
|
|
|
7
7
|
export const S_Skip = 'Hex@skip ';
|
|
8
8
|
export function newHSC(hex, sc, Aname = hex.Aname) { return { Aname, hex, sc }; }
|
|
9
9
|
/** to recognize this class in hexUnderPoint and obtain the associated Hex2. */
|
|
10
|
-
class HexCont extends Container {
|
|
10
|
+
export class HexCont extends Container {
|
|
11
11
|
hex2;
|
|
12
12
|
constructor(hex2) {
|
|
13
13
|
super();
|
|
@@ -95,8 +95,9 @@ export class Hex {
|
|
|
95
95
|
col;
|
|
96
96
|
/** Link to neighbor in each H.dirs direction [NE, E, SE, SW, W, NW] */
|
|
97
97
|
links = {};
|
|
98
|
+
metaLinks; // defined only for the center Hex of a metaHex
|
|
98
99
|
get linkDirs() { return Object.keys(this.links); }
|
|
99
|
-
/**
|
|
100
|
+
/** Hex(playerColor)@rcs */
|
|
100
101
|
toString() {
|
|
101
102
|
return `Hex@${this.rcs}`; // hex.toString => Hex@[r,c] | Hex@Skip , Hex@Resign
|
|
102
103
|
}
|
|
@@ -171,13 +172,13 @@ export class Hex1 extends Hex {
|
|
|
171
172
|
get meep() { return this._meep; }
|
|
172
173
|
set meep(meep) { this._meep = meep; }
|
|
173
174
|
get occupied() { return (this.tile || this.meep) ? [this.tile, this.meep] : undefined; }
|
|
174
|
-
/**
|
|
175
|
-
toString(
|
|
176
|
-
return `${
|
|
175
|
+
/** COLOR@[r,c]; COLOR = this.(tile??meep).player.color ?? Empty */
|
|
176
|
+
toString(color = (this.tile ?? this.meep)?.player?.color ?? 'Empty') {
|
|
177
|
+
return `${color}@${this.rcs}`; // hex.toString => COLOR@[r,c] | COLOR@Skip , COLOR@Resign
|
|
177
178
|
}
|
|
178
|
-
/**
|
|
179
|
-
rcspString(
|
|
180
|
-
return `${
|
|
179
|
+
/** COLOR@[ r, c] or COLOR@Name */
|
|
180
|
+
rcspString(color = (this.tile ?? this.meep)?.player?.color ?? 'Empty') {
|
|
181
|
+
return `${color}@${this.rcsp}`;
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
/** One Hex cell in the game, shown as a polyStar Shape */
|
|
@@ -204,7 +205,7 @@ export class Hex2 extends Hex1 {
|
|
|
204
205
|
distText; // shown on this.cont
|
|
205
206
|
rcText; // shown on this.cont
|
|
206
207
|
setUnit(unit, meep = false) {
|
|
207
|
-
const cont = this.
|
|
208
|
+
const cont = this.mapCont.tileCont, x = this.x, y = this.y;
|
|
208
209
|
let k = true; // debug double tile
|
|
209
210
|
const this_unit = (meep ? this.meep : this.tile);
|
|
210
211
|
if (unit !== undefined && this_unit !== undefined && !(meep && this_unit.recycleVerb === 'demolished')) {
|
|
@@ -257,7 +258,7 @@ export class Hex2 extends Hex1 {
|
|
|
257
258
|
this.showText(true); // & this.cache()
|
|
258
259
|
}
|
|
259
260
|
/** set visibility of rcText & distText */
|
|
260
|
-
showText(vis = this.rcText.visible) {
|
|
261
|
+
showText(vis = !this.rcText.visible) {
|
|
261
262
|
this.rcText.visible = this.distText.visible = vis;
|
|
262
263
|
this.cont.updateCache();
|
|
263
264
|
}
|
|
@@ -279,7 +280,7 @@ export class Hex2 extends Hex1 {
|
|
|
279
280
|
// cont.rotation = this.map.topoRot;
|
|
280
281
|
}
|
|
281
282
|
makeHexShape(shape = HexShape) {
|
|
282
|
-
const hs = new shape(this.radius
|
|
283
|
+
const hs = new shape(this.radius);
|
|
283
284
|
this.cont.addChildAt(hs, 0);
|
|
284
285
|
this.cont.hitArea = hs;
|
|
285
286
|
hs.paint('grey');
|
|
@@ -330,69 +331,86 @@ export class Hex2 extends Hex1 {
|
|
|
330
331
|
}
|
|
331
332
|
export class RecycleHex extends Hex2 {
|
|
332
333
|
}
|
|
333
|
-
/**
|
|
334
|
+
/**
|
|
335
|
+
* A HexShape/PaintableShape to indicate selected hex of HexMap.
|
|
336
|
+
*
|
|
337
|
+
* For contrast paint it (GREY,.3), leave a hole in the middle unpainted.
|
|
338
|
+
*
|
|
339
|
+
* @param radius of this HexShape
|
|
340
|
+
* @param radius0 of removed circle
|
|
341
|
+
* @param cm of HexShape/ring for mark ['rgba(127,127,127,.3)']
|
|
342
|
+
*/
|
|
334
343
|
export class HexMark extends HexShape {
|
|
335
|
-
hexMap;
|
|
336
344
|
hex;
|
|
337
|
-
constructor(
|
|
345
|
+
constructor(radius, radius0 = 0, cm = 'rgba(127,127,127,.3)') {
|
|
338
346
|
super(radius);
|
|
339
|
-
this.
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
return this.graphics; // do not repaint.
|
|
352
|
-
}
|
|
347
|
+
this.graphics.f(cm).dp(0, 0, this.radius, 6, 0, this.tilt);
|
|
348
|
+
this.cache(-radius, -radius, 2 * radius, 2 * radius);
|
|
349
|
+
this.graphics.c().f(C.BLACK).dc(0, 0, radius0);
|
|
350
|
+
this.updateCache("destination-out");
|
|
351
|
+
this.setHexBounds(); // bounds are based on readonly, should be const
|
|
352
|
+
this.mouseEnabled = false;
|
|
353
|
+
}
|
|
354
|
+
// don't invoke Mark.paint(new_color); TODO: remove this override.
|
|
355
|
+
// override paint(color: string): Graphics {
|
|
356
|
+
// this.setHexBounds(); // <--- likely redundant, see HexSHape
|
|
357
|
+
// return this.graphics; // do not repaint.
|
|
358
|
+
// }
|
|
353
359
|
// Fail: markCont to be 'above' tileCont...
|
|
360
|
+
/**
|
|
361
|
+
* Show or hide mark on given hex; and hex.updateCache.
|
|
362
|
+
*
|
|
363
|
+
* (this.hex = hex) ? hex.cont.addChild(this.cont) : this.visible = false
|
|
364
|
+
*/
|
|
354
365
|
showOn(hex) {
|
|
355
366
|
// when mark is NOT showing, this.visible === false && this.hex === undefined.
|
|
356
367
|
// when mark IS showing, this.visible === true && (this.hex instanceof Hex2)
|
|
357
368
|
if (this.hex === hex)
|
|
358
369
|
return;
|
|
359
|
-
|
|
370
|
+
let ohex = this.hex, map = ohex?.map;
|
|
371
|
+
if (ohex) {
|
|
360
372
|
this.visible = false;
|
|
361
|
-
if (!
|
|
373
|
+
if (!ohex.cont.cacheID)
|
|
362
374
|
debugger;
|
|
363
|
-
|
|
375
|
+
ohex.cont.updateCache();
|
|
376
|
+
map = ohex.map;
|
|
364
377
|
}
|
|
365
|
-
|
|
366
|
-
if (this.hex) {
|
|
378
|
+
if (hex) {
|
|
367
379
|
this.visible = true;
|
|
368
380
|
hex.cont.addChild(this);
|
|
369
381
|
if (!hex.cont.cacheID)
|
|
370
382
|
debugger;
|
|
371
383
|
hex.cont.updateCache();
|
|
384
|
+
map = hex.map;
|
|
372
385
|
}
|
|
373
|
-
this.
|
|
386
|
+
this.hex = hex;
|
|
387
|
+
map?.update(); // remove old hex, add new hex
|
|
374
388
|
}
|
|
375
389
|
}
|
|
390
|
+
/** MapCont is an empty Container until .addContainers(cNames) */
|
|
376
391
|
export class MapCont extends Container {
|
|
377
|
-
|
|
378
|
-
constructor(hexMap) {
|
|
392
|
+
constructor() {
|
|
379
393
|
super();
|
|
380
|
-
this.hexMap = hexMap;
|
|
381
394
|
this.name = 'mapCont';
|
|
382
395
|
}
|
|
383
|
-
|
|
396
|
+
/** initial, default, readonly Container names, fields */
|
|
397
|
+
static cNames = ['resaCont', 'hexCont', 'tileCont', 'markCont', 'counterCont'];
|
|
398
|
+
/** actual cNames being used for this MapCont, set in addContainers() */
|
|
399
|
+
_cNames = MapCont.cNames.concat();
|
|
400
|
+
get cNames() { return this._cNames; }
|
|
384
401
|
resaCont; // playerPanels
|
|
385
402
|
hexCont; // hex shapes on bottom stats: addChild(dsText), parent.rotation
|
|
386
|
-
infCont
|
|
403
|
+
// infCont: Container // infMark below tileCont; Hex2.showInf
|
|
387
404
|
tileCont; // Tiles & Meeples on Hex2/HexMap.
|
|
388
405
|
markCont; // showMark over Hex2; LegalMark
|
|
389
|
-
capCont
|
|
406
|
+
// capCont: Container // for tile.capMark
|
|
390
407
|
counterCont; // counters for AuctionCont
|
|
391
|
-
eventCont
|
|
408
|
+
// eventCont: Container// the eventHex & and whatever Tile is on it...
|
|
392
409
|
/** add all the layers of Containers. */
|
|
393
|
-
addContainers() {
|
|
410
|
+
addContainers(cNames = this.cNames) {
|
|
411
|
+
this._cNames = cNames.concat();
|
|
394
412
|
this.removeAllChildren();
|
|
395
|
-
|
|
413
|
+
this.cNames.forEach(cname => {
|
|
396
414
|
const cont = new Container();
|
|
397
415
|
cont.Aname = cont.name = cname;
|
|
398
416
|
this[cname] = cont;
|
|
@@ -402,16 +420,16 @@ export class MapCont extends Container {
|
|
|
402
420
|
/**
|
|
403
421
|
* Set hexCont(x,y) so hexMap.getBounds() is centered around mapCont(0,0);
|
|
404
422
|
*
|
|
405
|
-
* [
|
|
423
|
+
* [Generally, hexCont.centerHex is ~ mapCont(0,0)]
|
|
406
424
|
*
|
|
407
|
-
* Move ALL children of
|
|
408
|
-
* @param hexCont
|
|
425
|
+
* Move ALL children of this MapCont to have that same (x,y) alignment.
|
|
426
|
+
* @param bounds [hexCont.getBounds()] align containers to center of given bounds.
|
|
409
427
|
*/
|
|
410
|
-
centerContainers(
|
|
411
|
-
|
|
412
|
-
const { x, y, width, height } =
|
|
428
|
+
centerContainers(bounds = this.hexCont.getBounds()) {
|
|
429
|
+
// based on aggregate of all added Hex2.cont; == the .cache(bounds);
|
|
430
|
+
const { x, y, width, height } = bounds;
|
|
413
431
|
const x0 = x + width / 2, y0 = y + height / 2;
|
|
414
|
-
|
|
432
|
+
this.cNames.forEach(cname => {
|
|
415
433
|
const cont = this[cname];
|
|
416
434
|
cont.x = -x0;
|
|
417
435
|
cont.y = -y0;
|
|
@@ -432,13 +450,29 @@ export class MapCont extends Container {
|
|
|
432
450
|
*/
|
|
433
451
|
export class HexMap extends Array {
|
|
434
452
|
hexC;
|
|
453
|
+
Aname;
|
|
435
454
|
// A color for each District: 'rgb(198,198,198)'
|
|
436
455
|
static distColor = ['lightgrey', "limegreen", "deepskyblue", "rgb(255,165,0)", "violet", "rgb(250,80,80)", "yellow"];
|
|
456
|
+
/**
|
|
457
|
+
* HexMap: TP.nRows X TP.nCols hexes.
|
|
458
|
+
*
|
|
459
|
+
* Basic map is non-GUI, addToMapCont uses Hex2 elements to enable GUI interaction.
|
|
460
|
+
* @param addToMapCont use Hex2 for Hex, make Containers: hexCont, infCont, markCont, stoneCont
|
|
461
|
+
* @param hexC Constructor<T> for the Hex elements (typed as HexConstructor<Hex> for Typescript...)
|
|
462
|
+
*/
|
|
463
|
+
constructor(radius = TP.hexRad, addToMapCont = false, hexC = Hex, Aname = 'mainMap') {
|
|
464
|
+
super(); // Array<Array<Hex>>()
|
|
465
|
+
this.hexC = hexC;
|
|
466
|
+
this.Aname = Aname;
|
|
467
|
+
this.radius = radius;
|
|
468
|
+
if (addToMapCont)
|
|
469
|
+
this.addToMapCont(this.hexC);
|
|
470
|
+
}
|
|
437
471
|
get asHex2Map() { return this; }
|
|
438
472
|
/** Each occupied Hex, with the occupying PlayerColor */
|
|
439
473
|
district = [];
|
|
440
474
|
hexAry; // set by makeAllDistricts()
|
|
441
|
-
mapCont = new MapCont(
|
|
475
|
+
mapCont = new MapCont(); // if/when using Hex2
|
|
442
476
|
//
|
|
443
477
|
// | // | // |
|
|
444
478
|
// 2 . | 1 // 1 . | .5 // 2/sqrt3 . | 1/sqrt3
|
|
@@ -447,6 +481,7 @@ export class HexMap extends Array {
|
|
|
447
481
|
// -----------------------+ // -----------------------+ // -----------------------+
|
|
448
482
|
// sqrt3 // sqrt3/2 // 1
|
|
449
483
|
//
|
|
484
|
+
allStones = [];
|
|
450
485
|
radius = TP.hexRad;
|
|
451
486
|
/** return this.centerHex.xywh() for this.topo */
|
|
452
487
|
get xywh() { return this.centerHex.xywh(); }
|
|
@@ -469,41 +504,23 @@ export class HexMap extends Array {
|
|
|
469
504
|
return this.centerHex.lastHex(dn);
|
|
470
505
|
}
|
|
471
506
|
rcLinear(row, col) { return col + row * (1 + (this.maxCol ?? 0) - (this.minCol ?? 0)); }
|
|
472
|
-
metaMap = Array(); // hex0 (center Hex) of each MetaHex, has metaLinks to others.
|
|
473
507
|
mark; // a cached DisplayObject, used by showMark
|
|
474
|
-
Aname = 'mainMap';
|
|
475
|
-
/**
|
|
476
|
-
* HexMap: TP.nRows X TP.nCols hexes.
|
|
477
|
-
*
|
|
478
|
-
* Basic map is non-GUI, addToMapCont uses Hex2 elements to enable GUI interaction.
|
|
479
|
-
* @param addToMapCont use Hex2 for Hex, make Containers: hexCont, infCont, markCont, stoneCont
|
|
480
|
-
* @param hexC Constructor<T> for the Hex elements (typed as HexConstructor<Hex> for Typescript...)
|
|
481
|
-
*/
|
|
482
|
-
constructor(radius = TP.hexRad, addToMapCont = false, hexC = Hex) {
|
|
483
|
-
super(); // Array<Array<Hex>>()
|
|
484
|
-
this.hexC = hexC;
|
|
485
|
-
this.radius = radius;
|
|
486
|
-
if (addToMapCont)
|
|
487
|
-
this.addToMapCont(this.hexC);
|
|
488
|
-
}
|
|
489
|
-
// the 'tilt' to apply to a HexShape to align with map.topo:
|
|
490
|
-
get topoRot() { return TP.useEwTopo ? 30 : 0; }
|
|
491
508
|
makeMark() {
|
|
492
|
-
const mark = new HexMark(this.
|
|
509
|
+
const mark = new HexMark(this.radius, this.radius / 2.5);
|
|
493
510
|
return mark;
|
|
494
511
|
}
|
|
495
512
|
/** create/attach Graphical components for HexMap */
|
|
496
|
-
addToMapCont(hexC) {
|
|
513
|
+
addToMapCont(hexC, cNames) {
|
|
497
514
|
if (hexC)
|
|
498
515
|
this.hexC = hexC;
|
|
516
|
+
this.mapCont.addContainers(cNames);
|
|
499
517
|
this.mark = this.makeMark();
|
|
500
|
-
this.mapCont.addContainers();
|
|
501
518
|
return this;
|
|
502
519
|
}
|
|
503
|
-
/** ...stage
|
|
520
|
+
/** ...stage?.update() */
|
|
504
521
|
update() {
|
|
505
|
-
this.mapCont
|
|
506
|
-
this.mapCont
|
|
522
|
+
this.mapCont?.hexCont?.updateCache(); // when toggleText: hexInspector
|
|
523
|
+
this.mapCont?.stage?.update();
|
|
507
524
|
}
|
|
508
525
|
/** to build this HexMap: create Hex (or Hex2) and link it to neighbors. */
|
|
509
526
|
addHex(row, col, district, hexC = this.hexC) {
|
|
@@ -525,6 +542,7 @@ export class HexMap extends Array {
|
|
|
525
542
|
this.link(hex); // link to existing neighbors
|
|
526
543
|
return hex;
|
|
527
544
|
}
|
|
545
|
+
/** find object under dragObj, using hexUnderPoint() */
|
|
528
546
|
hexUnderObj(dragObj, legalOnly = true) {
|
|
529
547
|
const pt = dragObj.parent.localToLocal(dragObj.x, dragObj.y, this.mapCont.markCont);
|
|
530
548
|
return this.hexUnderPoint(pt.x, pt.y, legalOnly);
|
|
@@ -594,6 +612,23 @@ export class HexMap extends Array {
|
|
|
594
612
|
const { dr, dc } = ntdir; // OR (nt as TopoEW[dir as EwDir]) OR simply: nt[dir]
|
|
595
613
|
return { row: rc.row + dr, col: rc.col + dc };
|
|
596
614
|
}
|
|
615
|
+
metaMap = Array(); // hex0 (center Hex) of each MetaHex, has metaLinks to others.
|
|
616
|
+
addMetaHex(hex, mrc) {
|
|
617
|
+
const metaMap = this.metaMap, { row: mr, col: mc } = mrc;
|
|
618
|
+
if (metaMap[mr] === undefined)
|
|
619
|
+
metaMap[mr] = new Array();
|
|
620
|
+
if (metaMap[mr][mc] === undefined)
|
|
621
|
+
metaMap[mr][mc] = hex;
|
|
622
|
+
this.metaLink(hex, { row: mr, col: mc });
|
|
623
|
+
}
|
|
624
|
+
/** link metaHex on metaMap; maybe need ewTopo for nh==1 ?? */
|
|
625
|
+
metaLink(hex, rc) {
|
|
626
|
+
// planner expects Dir1 & Dir2 in NsDir; nextMetaRC.mrc: NsDir
|
|
627
|
+
let nt = (this.nh == 0) ? H.ewTopo(rc) : H.nsTopo(rc); // always nsTopo!!
|
|
628
|
+
if (!hex.metaLinks)
|
|
629
|
+
hex.metaLinks = {};
|
|
630
|
+
this.link(hex, rc, this.metaMap, nt, (hex) => hex.metaLinks);
|
|
631
|
+
}
|
|
597
632
|
/** link hex to/from each extant neighor */
|
|
598
633
|
link(hex, rc = hex, map = this, nt = this.topo(rc), lf = (hex) => hex.links) {
|
|
599
634
|
const topoDirs = Object.keys(nt);
|
|
@@ -609,7 +644,7 @@ export class HexMap extends Array {
|
|
|
609
644
|
});
|
|
610
645
|
}
|
|
611
646
|
/**
|
|
612
|
-
* The [Legal] Hex under the given x,y coordinates.
|
|
647
|
+
* The [Legal] Hex (LegalMark.hex2) under the given x,y coordinates.
|
|
613
648
|
* If on the line, then the top (last drawn) Hex.
|
|
614
649
|
* @param x in local coordinates of this HexMap.mapCont
|
|
615
650
|
* @param y
|
|
@@ -633,7 +668,10 @@ export class HexMap extends Array {
|
|
|
633
668
|
_mh;
|
|
634
669
|
get nh() { return this._nh; }
|
|
635
670
|
get mh() { return this._mh; }
|
|
636
|
-
/** final; set size
|
|
671
|
+
/** final; set size of this HexMap; then it is readonly.
|
|
672
|
+
* @param nh size of district (size of each MetaHex) [TP.nHexes]
|
|
673
|
+
* @param mh order of MetaHex (number of MetaHex per side of map) [TP.mHexes]
|
|
674
|
+
*/
|
|
637
675
|
setSize(nh = TP.nHexes, mh = TP.mHexes) {
|
|
638
676
|
this._nh = nh;
|
|
639
677
|
this._mh = mh;
|
|
@@ -641,7 +679,7 @@ export class HexMap extends Array {
|
|
|
641
679
|
/** utility for makeAllDistricts; make hex0 at RC */
|
|
642
680
|
calculateRC0() {
|
|
643
681
|
// suitable for makeMetaHexes
|
|
644
|
-
const offs = Math.ceil(this.nh
|
|
682
|
+
const offs = Math.ceil(2 * this.nh * (this.mh - .5)); // row incr could be smaller for EwTopo
|
|
645
683
|
return { row: offs, col: offs }; // row,col to be non-negative
|
|
646
684
|
}
|
|
647
685
|
/**
|
|
@@ -653,7 +691,7 @@ export class HexMap extends Array {
|
|
|
653
691
|
makeAllDistricts(nh = TP.nHexes, mh = TP.mHexes) {
|
|
654
692
|
this.setSize(nh, mh);
|
|
655
693
|
const rc0 = this.calculateRC0();
|
|
656
|
-
const hexAry = this.hexAry = this.makeAllHexes(nh,
|
|
694
|
+
const hexAry = this.hexAry = this.makeAllHexes(nh, mh, rc0); // nh hexes on outer ring; single meta-hex
|
|
657
695
|
this.mapCont.hexCont && this.mapCont.centerContainers();
|
|
658
696
|
return hexAry;
|
|
659
697
|
}
|
|
@@ -676,25 +714,26 @@ export class HexMap extends Array {
|
|
|
676
714
|
* @param rc0 location of initial, central Hex
|
|
677
715
|
* @return
|
|
678
716
|
*/
|
|
679
|
-
makeMetaHexRings(nh = TP.nHexes, mh = TP.mHexes, rc0) {
|
|
717
|
+
makeMetaHexRings(nh = TP.nHexes, mh = TP.mHexes, rc0, mrc = { row: 0, col: 0 }) {
|
|
680
718
|
const dL = nh, dS = (nh - 1), dirs = this.linkDirs;
|
|
681
719
|
const nextMetaRC = (rc, nd) => {
|
|
682
|
-
const dirL = dirs[nd], dirS = dirs[(nd + 5) % 6]
|
|
720
|
+
const dirL = dirs[nd], dirS = dirs[(nd + 5) % 6], metaD = H.nsDirs[(nd + 5) % 6];
|
|
683
721
|
rc = this.forRCsOnLine(dL, rc, dirL); // step (WS) by dist
|
|
684
722
|
rc = this.forRCsOnLine(dS, rc, dirS); // step (S) to center of 0-th metaHex
|
|
723
|
+
mrc = this.nextRowCol(mrc, metaD, H.nsTopo(mrc)); // metaMap uses nsTopo!
|
|
685
724
|
return rc;
|
|
686
725
|
};
|
|
687
726
|
// do metaRing = 0, district 0:
|
|
688
727
|
let district = 0, rc = rc0;
|
|
689
|
-
|
|
728
|
+
let hexAry = this.makeMetaHex(nh, district++, rc, mrc); // Central District [0]
|
|
690
729
|
for (let metaRing = 1; metaRing < mh; metaRing++) {
|
|
691
730
|
rc = nextMetaRC(rc, 4); // step in dirs[4] to initial rc (W or WS of previous rc)
|
|
692
731
|
// from rc, for each dir, step dir to center of next metaHex.
|
|
693
732
|
dirs.forEach((dirL, nd) => {
|
|
694
733
|
for (let nhc = 1; nhc <= metaRing; nhc++) {
|
|
695
734
|
rc = nextMetaRC(rc, nd);
|
|
696
|
-
const hexAry2 = this.makeMetaHex(nh, district++, rc);
|
|
697
|
-
hexAry.concat(...hexAry2);
|
|
735
|
+
const hexAry2 = this.makeMetaHex(nh, district++, rc, mrc);
|
|
736
|
+
hexAry = hexAry.concat(...hexAry2);
|
|
698
737
|
}
|
|
699
738
|
});
|
|
700
739
|
}
|
|
@@ -707,11 +746,15 @@ export class HexMap extends Array {
|
|
|
707
746
|
* @param nh order of the metaHex/district
|
|
708
747
|
* @param district identifying number of district
|
|
709
748
|
* @param rc location of center Hex
|
|
749
|
+
* @param mrc location in meta hex array [undefined: no MetaHex links]
|
|
710
750
|
* @return array containing all the added Hexes
|
|
711
751
|
*/
|
|
712
|
-
makeMetaHex(nh, district, rc) {
|
|
752
|
+
makeMetaHex(nh, district, rc, mrc) {
|
|
713
753
|
const hexAry = Array();
|
|
714
|
-
|
|
754
|
+
const hex = this.addHex(rc.row, rc.col, district);
|
|
755
|
+
hexAry.push(hex); // The *center* hex of district
|
|
756
|
+
if (mrc)
|
|
757
|
+
this.addMetaHex(hex, mrc); // for hexline! (link centers of districts)
|
|
715
758
|
for (let ring = 1; ring < nh; ring++) {
|
|
716
759
|
rc = this.nextRowCol(rc, this.linkDirs[4]);
|
|
717
760
|
// place 'ring' of hexes, addHex along each line:
|
|
@@ -836,7 +879,7 @@ export class HexMap extends Array {
|
|
|
836
879
|
* @param rc start of first line (heading dirs[0])
|
|
837
880
|
* @param n ring number; number of hexes per line
|
|
838
881
|
* @param dirs [this.linkDirs] each topo dirs in [clockwise] order.
|
|
839
|
-
* @param f (RC, dir) => void
|
|
882
|
+
* @param f (RC, dir) => void; run f(rc) then step to next RC
|
|
840
883
|
* @return the *next* RC on the final line (so can easily spiral)
|
|
841
884
|
*/
|
|
842
885
|
ringWalk(rc, n, dirs = this.linkDirs, f) {
|
package/dist/hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":"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"}
|
package/dist/table.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ import { Container, DisplayObject, EventDispatcher, MouseEvent, Shape, Stage, Te
|
|
|
5
5
|
import { NamedContainer, NamedObject, type GamePlay } from "./game-play";
|
|
6
6
|
import { Scenario } from "./game-setup";
|
|
7
7
|
import type { GameState } from "./game-state";
|
|
8
|
-
import { Hex, Hex2, HexMap,
|
|
8
|
+
import { Hex, Hex2, HexMap, IdHex } from "./hex";
|
|
9
9
|
import { XYWH } from "./hex-intfs";
|
|
10
10
|
import { Player } from "./player";
|
|
11
11
|
import { PlayerPanel } from "./player-panel";
|
|
12
|
-
import { RectShape, UtilButton } from "./shapes";
|
|
12
|
+
import { HexShape, RectShape, UtilButton } from "./shapes";
|
|
13
13
|
import { PlayerColor } from "./table-params";
|
|
14
14
|
import { Tile } from "./tile";
|
|
15
15
|
import { TileSource } from "./tile-source";
|
|
@@ -55,9 +55,10 @@ declare class TextLog extends NamedContainer {
|
|
|
55
55
|
log(line: string, from?: string, toConsole?: boolean): string;
|
|
56
56
|
}
|
|
57
57
|
/** layout display components, setup callbacks to GamePlay */
|
|
58
|
-
export declare class Table
|
|
58
|
+
export declare class Table {
|
|
59
59
|
static table: Table;
|
|
60
60
|
static stageTable(obj: DisplayObject): Table;
|
|
61
|
+
disp: EventDispatcher;
|
|
61
62
|
namedOn(Aname: string, type: string, listener: (eventObj: Object) => boolean, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): void;
|
|
62
63
|
gamePlay: GamePlay;
|
|
63
64
|
stage: Stage;
|
|
@@ -86,7 +87,7 @@ export declare class Table extends EventDispatcher {
|
|
|
86
87
|
logText(line: string, from?: string): void;
|
|
87
88
|
setupUndoButtons(xOffs: number, bSize: number, skipRad: number, bgr: XYWH, row?: number, col?: number): void;
|
|
88
89
|
showWinText(msg?: string, color?: string): void;
|
|
89
|
-
enableHexInspector(qY?: number, cont?: Container):
|
|
90
|
+
enableHexInspector(qY?: number, cont?: Container): HexShape;
|
|
90
91
|
downClick: boolean;
|
|
91
92
|
isVisible: boolean;
|
|
92
93
|
/** method invokes closure defined in enableHexInspector. */
|
|
@@ -115,6 +116,7 @@ export declare class Table extends EventDispatcher {
|
|
|
115
116
|
h: number;
|
|
116
117
|
};
|
|
117
118
|
layoutTable(gamePlay: GamePlay): void;
|
|
119
|
+
layoutTurnlog(rowy?: number, colx?: number): void;
|
|
118
120
|
colf(pIndex: number, icol: number, row: number): {
|
|
119
121
|
row: number;
|
|
120
122
|
col: number;
|
|
@@ -122,12 +124,13 @@ export declare class Table extends EventDispatcher {
|
|
|
122
124
|
layoutTable2(): void;
|
|
123
125
|
makeGUIs(table: Table): void;
|
|
124
126
|
get panelHeight(): number;
|
|
127
|
+
get panelOffset(): number;
|
|
125
128
|
panelLoc(pIndex: number, np?: number, r0?: number, dr?: number): number[];
|
|
126
129
|
readonly allPlayerPanels: PlayerPanel[];
|
|
127
130
|
/** make player panels, placed at locations... */
|
|
128
131
|
makePerPlayer(): void;
|
|
129
132
|
/** move cont to nominal [row, col] of hexCont */
|
|
130
|
-
setToRowCol(cont: Container, row?: number, col?: number): void;
|
|
133
|
+
setToRowCol(cont: Container, row?: number, col?: number, hexCont?: Container): void;
|
|
131
134
|
sourceOnHex(source: TileSource<Tile>, hex: Hex2): void;
|
|
132
135
|
makeCircleButton(color?: string, rad?: number, c?: string, fs?: number): Container;
|
|
133
136
|
makeSquareButton(color: string | undefined, xywh: XYWH, c?: string, fs?: number): Container;
|
|
@@ -190,9 +193,9 @@ export declare class Table extends EventDispatcher {
|
|
|
190
193
|
*
|
|
191
194
|
* New: let Ship (Drag & Drop) do this.
|
|
192
195
|
*/
|
|
193
|
-
doTableMove(ihex:
|
|
196
|
+
doTableMove(ihex: IdHex): void;
|
|
194
197
|
/** All moves (GUI & player) feed through this: */
|
|
195
|
-
moveStoneToHex(ihex:
|
|
198
|
+
moveStoneToHex(ihex: IdHex, sc: PlayerColor): void;
|
|
196
199
|
/** default scaling-up value */
|
|
197
200
|
upscale: number;
|
|
198
201
|
/** change cont.scale to given scale value. */
|