@thegraid/hexlib 1.0.0 → 1.0.2

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.
Files changed (89) hide show
  1. package/dist/choosers.d.ts +31 -0
  2. package/dist/choosers.d.ts.map +1 -0
  3. package/dist/choosers.js +1 -0
  4. package/dist/choosers.js.map +1 -0
  5. package/dist/counters.d.ts +60 -0
  6. package/dist/counters.d.ts.map +1 -0
  7. package/dist/counters.js +1 -0
  8. package/dist/counters.js.map +1 -0
  9. package/dist/game-play.d.ts +164 -0
  10. package/dist/game-play.d.ts.map +1 -0
  11. package/dist/game-play.js +1 -0
  12. package/dist/game-play.js.map +1 -0
  13. package/dist/game-setup.d.ts +76 -0
  14. package/dist/game-setup.d.ts.map +1 -0
  15. package/dist/game-setup.js +7 -0
  16. package/dist/game-setup.js.map +1 -0
  17. package/dist/game-state.d.ts +37 -0
  18. package/dist/game-state.d.ts.map +1 -0
  19. package/dist/game-state.js +1 -0
  20. package/dist/game-state.js.map +1 -0
  21. package/dist/hex-intfs.d.ts +97 -0
  22. package/dist/hex-intfs.d.ts.map +1 -0
  23. package/dist/hex-intfs.js +1 -0
  24. package/dist/hex-intfs.js.map +1 -0
  25. package/dist/hex.d.ts +349 -0
  26. package/dist/hex.d.ts.map +1 -0
  27. package/dist/hex.js +2 -1
  28. package/dist/hex.js.map +1 -0
  29. package/dist/image-loader.d.ts +39 -0
  30. package/dist/image-loader.d.ts.map +1 -0
  31. package/dist/image-loader.js +1 -0
  32. package/dist/image-loader.js.map +1 -0
  33. package/dist/index.d.ts +22 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +22 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/meeple.d.ts +58 -0
  38. package/dist/meeple.d.ts.map +1 -0
  39. package/dist/meeple.js +1 -0
  40. package/dist/meeple.js.map +1 -0
  41. package/dist/plan-proxy.d.ts +36 -0
  42. package/dist/plan-proxy.d.ts.map +1 -0
  43. package/dist/plan-proxy.js +1 -0
  44. package/dist/plan-proxy.js.map +1 -0
  45. package/dist/player-panel.d.ts +64 -0
  46. package/dist/player-panel.d.ts.map +1 -0
  47. package/dist/player-panel.js +1 -0
  48. package/dist/player-panel.js.map +1 -0
  49. package/dist/player.d.ts +56 -0
  50. package/dist/player.d.ts.map +1 -0
  51. package/dist/player.js +1 -0
  52. package/dist/player.js.map +1 -0
  53. package/dist/scenario-parser.d.ts +30 -0
  54. package/dist/scenario-parser.d.ts.map +1 -0
  55. package/dist/scenario-parser.js +1 -0
  56. package/dist/scenario-parser.js.map +1 -0
  57. package/dist/shapes.d.ts +160 -0
  58. package/dist/shapes.d.ts.map +1 -0
  59. package/dist/shapes.js +1 -0
  60. package/dist/shapes.js.map +1 -0
  61. package/dist/stream-writer.d.ts +77 -0
  62. package/dist/stream-writer.d.ts.map +1 -0
  63. package/dist/stream-writer.js +1 -0
  64. package/dist/stream-writer.js.map +1 -0
  65. package/dist/table-params.d.ts +52 -0
  66. package/dist/table-params.d.ts.map +1 -0
  67. package/dist/table-params.js +1 -0
  68. package/dist/table-params.js.map +1 -0
  69. package/dist/table.d.ts +203 -0
  70. package/dist/table.d.ts.map +1 -0
  71. package/dist/table.js +3 -2
  72. package/dist/table.js.map +1 -0
  73. package/dist/text-log.d.ts +17 -0
  74. package/dist/text-log.d.ts.map +1 -0
  75. package/dist/text-log.js +1 -0
  76. package/dist/text-log.js.map +1 -0
  77. package/dist/tile-source.d.ts +46 -0
  78. package/dist/tile-source.d.ts.map +1 -0
  79. package/dist/tile-source.js +1 -0
  80. package/dist/tile-source.js.map +1 -0
  81. package/dist/tile.d.ts +151 -0
  82. package/dist/tile.d.ts.map +1 -0
  83. package/dist/tile.js +1 -0
  84. package/dist/tile.js.map +1 -0
  85. package/dist/types.d.ts +12 -0
  86. package/dist/types.d.ts.map +1 -0
  87. package/dist/types.js +1 -0
  88. package/dist/types.js.map +1 -0
  89. package/package.json +1 -1
@@ -0,0 +1,97 @@
1
+ import { RC } from "@thegraid/common-lib";
2
+ /** Hexagonal canonical directions */
3
+ export declare enum Dir {
4
+ C = 0,
5
+ NE = 1,
6
+ E = 2,
7
+ SE = 3,
8
+ SW = 4,
9
+ W = 5,
10
+ NW = 6
11
+ }
12
+ export type HexDir = 'NE' | 'EN' | 'E' | 'ES' | 'SE' | 'S' | 'SW' | 'WS' | 'W' | 'WN' | 'NW' | 'N';
13
+ export type XYWH = {
14
+ x: number;
15
+ y: number;
16
+ w: number;
17
+ h: number;
18
+ };
19
+ export type EwDir = Exclude<HexDir, 'N' | 'S' | 'EN' | 'WN' | 'ES' | 'WS'>;
20
+ export type NsDir = Exclude<HexDir, 'E' | 'W' | 'NE' | 'NW' | 'SE' | 'SW'>;
21
+ type DCR = {
22
+ [key in "dc" | "dr"]: number;
23
+ };
24
+ export type TopoEW = {
25
+ [key in EwDir]: DCR;
26
+ };
27
+ export type TopoNS = {
28
+ [key in NsDir]: DCR;
29
+ };
30
+ export type Topo = TopoEW | TopoNS;
31
+ /** Hex things */
32
+ export declare namespace H {
33
+ const degToRadians: number;
34
+ const sqrt3: number;
35
+ const sqrt3_2: number;
36
+ const infin: string;
37
+ const C: 'C';
38
+ const N: HexDir;
39
+ const S: HexDir;
40
+ const E: HexDir;
41
+ const W: HexDir;
42
+ const NE: HexDir;
43
+ const SE: HexDir;
44
+ const SW: HexDir;
45
+ const NW: HexDir;
46
+ const EN: HexDir;
47
+ const ES: HexDir;
48
+ const WS: HexDir;
49
+ const WN: HexDir;
50
+ function hexBounds(r: number, tilt?: number): {
51
+ x: number;
52
+ y: number;
53
+ width: number;
54
+ height: number;
55
+ };
56
+ /** neighborhood topology, E-W & N-S orientation; even(n0) & odd(n1) rows: */
57
+ const ewEvenRow: TopoEW;
58
+ const ewOddRow: TopoEW;
59
+ const nsEvenCol: TopoNS;
60
+ const nsOddCol: TopoNS;
61
+ function nsTopo(rc: RC): TopoNS;
62
+ function ewTopo(rc: RC): TopoEW;
63
+ /** includes E & W, suitable for EwTopo */
64
+ const ewDirs: EwDir[];
65
+ /** includes N & S, suitable for NsTopo */
66
+ const nsDirs: NsDir[];
67
+ /** all hexDirs */
68
+ const hexDirs: HexDir[];
69
+ const ewDirRot: {
70
+ [key in EwDir]: number;
71
+ };
72
+ const nsDirRot: {
73
+ [key in NsDir]: number;
74
+ };
75
+ const dirRot: {
76
+ [key in HexDir]: number;
77
+ };
78
+ const dirRev: {
79
+ [key in HexDir]: HexDir;
80
+ };
81
+ const dirRevEW: {
82
+ [key in EwDir]: EwDir;
83
+ };
84
+ const dirRevNS: {
85
+ [key in NsDir]: NsDir;
86
+ };
87
+ const rotDir: {
88
+ [key: number]: HexDir;
89
+ };
90
+ const capColor1: string;
91
+ const capColor2: string;
92
+ const sacColor1: string;
93
+ const sacColor2: string;
94
+ const fjColor: string;
95
+ }
96
+ export {};
97
+ //# sourceMappingURL=hex-intfs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex-intfs.d.ts","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
package/dist/hex-intfs.js CHANGED
@@ -80,3 +80,4 @@ export var H;
80
80
  H.sacColor2 = "rgba(228, 120, 0, .6)"; // isplayable: sacrifice w/ capture
81
81
  H.fjColor = "rgba(228, 228, 0, .8)"; // ~unplayable: jeopardy w/o capture
82
82
  })(H || (H = {}));
83
+ //# sourceMappingURL=hex-intfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex-intfs.js","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
package/dist/hex.d.ts ADDED
@@ -0,0 +1,349 @@
1
+ /// <reference types="easeljs" />
2
+ import { Constructor, RC } from "@thegraid/easeljs-lib";
3
+ import { Container, DisplayObject, Graphics, Point, Text } from "@thegraid/easeljs-module";
4
+ import { EwDir, HexDir, NsDir } from "./hex-intfs";
5
+ import type { Meeple } from "./meeple";
6
+ import { HexShape, LegalMark } from "./shapes";
7
+ import { PlayerColor } from "./table-params";
8
+ import type { MapTile, Tile } from "./tile";
9
+ export declare const S_Resign = "Hex@Resign";
10
+ export declare const S_Skip = "Hex@skip ";
11
+ export type IHex = {
12
+ Aname: string;
13
+ row: number;
14
+ col: number;
15
+ };
16
+ export type HexConstructor<T extends Hex> = new (map: HexMap<T>, row: number, col: number, name?: string) => T;
17
+ type LINKS<T extends Hex> = {
18
+ [key in HexDir]?: T;
19
+ };
20
+ type DCR = {
21
+ dc: number;
22
+ dr: number;
23
+ };
24
+ type TopoEW = {
25
+ [key in EwDir]: DCR;
26
+ };
27
+ type TopoNS = {
28
+ [key in NsDir]: DCR;
29
+ };
30
+ type Topo = TopoEW | TopoNS;
31
+ export type HSC = {
32
+ hex: Hex;
33
+ sc: PlayerColor;
34
+ Aname: string;
35
+ };
36
+ export declare function newHSC(hex: Hex, sc: PlayerColor, Aname?: string): {
37
+ Aname: string;
38
+ hex: Hex;
39
+ sc: "b" | "w" | "c";
40
+ };
41
+ /** to recognize this class in hexUnderPoint and obtain the associated Hex2. */
42
+ declare class HexCont extends Container {
43
+ hex2: Hex2;
44
+ constructor(hex2: Hex2);
45
+ }
46
+ /** Base Hex, has no connection to graphics.
47
+ * topological links to adjacent hex objects.
48
+ */
49
+ export declare class Hex {
50
+ /** return indicated Hex from otherMap */
51
+ static ofMap(ihex: IHex, otherMap: HexMap<Hex>): Hex;
52
+ static aname(row: number, col: number): string;
53
+ constructor(map: HexMap<Hex>, row: number, col: number, name?: string);
54
+ /** (x,y): center of hex; (width,height) of hex; scaled by radius if supplied
55
+ * @param radius [1] radius used in drawPolyStar(radius,,, H.dirRot[tiltDir])
56
+ * @param ewTopo [TP.useEwTopo] true -> suitable for ewTopo (long axis of hex is N/S)
57
+ * @param row [this.row]
58
+ * @param col [this.col]
59
+ * @returns \{ x, y, w, h, dxdc, dydr } of cell at [row, col]
60
+ */
61
+ xywh(radius?: number, ewTopo?: boolean, row?: number, col?: number): {
62
+ x: number;
63
+ y: number;
64
+ w: number;
65
+ h: number;
66
+ dxdc: number;
67
+ dydr: number;
68
+ };
69
+ get xywh0(): {
70
+ x: number;
71
+ y: number;
72
+ w: number;
73
+ h: number;
74
+ dxdc: number;
75
+ dydr: number;
76
+ };
77
+ readonly Aname: string;
78
+ /** reduce to serializable IHex (removes map, inf, links, etc) */
79
+ get iHex(): IHex;
80
+ protected nf(n: number): string;
81
+ /** [row,col] OR special name */
82
+ get rcs(): string;
83
+ get rowsp(): string;
84
+ get colsp(): string;
85
+ /** [row,col] OR special name */
86
+ get rcsp(): string;
87
+ /** compute ONCE, *after* HexMap is populated with all the Hex! */
88
+ get rc_linear(): number;
89
+ _rcLinear?: number;
90
+ /** accessor so Hex2 can override-advise */
91
+ _district: number | undefined;
92
+ get district(): number | undefined;
93
+ set district(d: number | undefined);
94
+ get isOnMap(): boolean;
95
+ _isLegal: boolean;
96
+ get isLegal(): boolean;
97
+ set isLegal(v: boolean);
98
+ readonly map: HexMap<Hex>;
99
+ readonly row: number;
100
+ readonly col: number;
101
+ /** Link to neighbor in each H.dirs direction [NE, E, SE, SW, W, NW] */
102
+ readonly links: LINKS<this>;
103
+ get linkDirs(): HexDir[];
104
+ /** colorScheme(playerColor)@rcs */
105
+ toString(): string;
106
+ /** hex.rcspString => Hex@[ r, c] | 'Hex@Skip ' , 'Hex@Resign ' */
107
+ rcspString(): string;
108
+ /** convert LINKS object to Array of Hex */
109
+ get linkHexes(): (this | undefined)[];
110
+ forEachLinkHex(func: (hex: Hex | undefined, dir: HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean): void;
111
+ /** return HexDir to the first linked hex that satisfies predicate. */
112
+ findLinkHex(pred: (hex: this | undefined, dir: HexDir, hex0: this) => boolean): HexDir | undefined;
113
+ /** continue in HexDir until pred is satisfied. */
114
+ findInDir(dir: HexDir, pred: (hex: Hex, dir: HexDir, hex0: Hex) => boolean): Hex | undefined;
115
+ /** array of all hexes in line from dir. */
116
+ hexesInDir(dir: HexDir, rv?: this[]): this[];
117
+ /** for each Hex in each Dir: func(hex, dir, this) */
118
+ forEachHexDir(func: (hex: this, dir: HexDir, hex0: this) => unknown): void;
119
+ nextHex(ds: HexDir, ns?: number): Hex | undefined;
120
+ /** return last Hex on axis in given direction */
121
+ lastHex(ds: HexDir): Hex;
122
+ /** distance between Hexes: adjacent = 1, based on row, col, sqrt3 */
123
+ radialDist(hex: Hex): number;
124
+ }
125
+ /**
126
+ * Hex1 may be occupied by [tile?: MapTile, meep?: Meeple].
127
+ */
128
+ export declare class Hex1 extends Hex {
129
+ _tile: MapTile | undefined;
130
+ get tile(): Tile | undefined;
131
+ set tile(tile: Tile | undefined);
132
+ _meep: Meeple | undefined;
133
+ get meep(): Meeple | undefined;
134
+ set meep(meep: Meeple | undefined);
135
+ get occupied(): [Tile | undefined, Meeple | undefined] | undefined;
136
+ /** colorScheme(playerColor)@rcs */
137
+ toString(sc?: string | undefined): string;
138
+ /** hex.rcspString => COLOR@[ r, c] | 'COLOR@Skip ' , 'COLOR@Resign ' */
139
+ rcspString(sc?: string | undefined): string;
140
+ }
141
+ /** One Hex cell in the game, shown as a polyStar Shape */
142
+ export declare class Hex2 extends Hex1 {
143
+ /** Child of mapCont.hexCont: HexCont holds hexShape(color), rcText, distText, capMark */
144
+ readonly cont: HexCont;
145
+ readonly radius: number;
146
+ readonly hexShape: HexShape;
147
+ get mapCont(): MapCont;
148
+ get markCont(): Container;
149
+ get x(): number;
150
+ set x(v: number);
151
+ get y(): number;
152
+ set y(v: number);
153
+ get scaleX(): number;
154
+ get scaleY(): number;
155
+ get district(): number | undefined;
156
+ set district(d: number | undefined);
157
+ distColor: string;
158
+ distText: Text;
159
+ rcText: Text;
160
+ setUnit(unit: Tile, meep?: boolean): void;
161
+ get tile(): Tile | undefined;
162
+ set tile(tile: Tile | undefined);
163
+ get meep(): Meeple | undefined;
164
+ set meep(meep: Meeple | undefined);
165
+ /**
166
+ * add Hex2 to map?.mapCont.hexCont; not in map.hexAry!
167
+ * Hex2.cont contains:
168
+ * - polyStar Shape of radius @ (XY=0,0)
169
+ * - stoneIdText (user settable stoneIdText.text)
170
+ * - rcText (r,c)
171
+ * - distText (d)
172
+ */
173
+ constructor(map: HexMap<Hex2>, row: number, col: number, name?: string);
174
+ /** set visibility of rcText & distText */
175
+ showText(vis?: boolean): void;
176
+ readonly legalMark: LegalMark;
177
+ get isLegal(): boolean;
178
+ set isLegal(v: boolean);
179
+ private initCont;
180
+ makeHexShape(shape?: Constructor<HexShape>): HexShape;
181
+ /** set hexShape using color: draw border and fill
182
+ * @param color
183
+ * @param district if supplied, set this.district
184
+ */
185
+ setHexColor(color: string, district?: number | undefined): void;
186
+ /** unit distance between Hexes: adjacent = 1; see also: radialDist */
187
+ metricDist(hex: Hex): number;
188
+ /** location of corner between dir0 and dir1; in parent coordinates.
189
+ * @param dir0 an EwDir
190
+ * @param dir1 an EwDir
191
+ */
192
+ cornerPoint(dir0: HexDir, dir1: HexDir): Point;
193
+ /** location of edge point in dir; in parent coordinates. */
194
+ edgePoint(dir: HexDir): Point;
195
+ }
196
+ export declare class RecycleHex extends Hex2 {
197
+ }
198
+ /** for contrast paint it black AND white, leave a hole in the middle unpainted. */
199
+ export declare class HexMark extends HexShape {
200
+ hexMap: HexMap<Hex2>;
201
+ hex: Hex2;
202
+ constructor(hexMap: HexMap<Hex2>, radius: number, radius0?: number);
203
+ paint(color: string): Graphics;
204
+ showOn(hex: Hex2): void;
205
+ }
206
+ export declare class MapCont extends Container {
207
+ hexMap: HexMap<Hex2>;
208
+ constructor(hexMap: HexMap<Hex2>);
209
+ static cNames: readonly ["resaCont", "hexCont", "infCont", "tileCont", "markCont", "capCont", "counterCont", "eventCont"];
210
+ resaCont: Container;
211
+ hexCont: Container;
212
+ infCont: Container;
213
+ tileCont: Container;
214
+ markCont: Container;
215
+ capCont: Container;
216
+ counterCont: Container;
217
+ eventCont: Container;
218
+ /** add all the layers of Containers. */
219
+ addContainers(): void;
220
+ }
221
+ export interface HexM<T extends Hex> {
222
+ readonly district: T[][];
223
+ readonly mapCont: MapCont;
224
+ rcLinear(row: number, col: number): number;
225
+ forEachHex<K extends T>(fn: (hex: K) => void): void;
226
+ update(): void;
227
+ showMark(hex: T): void;
228
+ }
229
+ /**
230
+ * Collection of Hex *and* Graphics-Containers for Hex2
231
+ * allStones: HSC[] and districts: Hex[]
232
+ *
233
+ * HexMap[row][col]: Hex or Hex2 elements.
234
+ * If mapCont is set, then populate with Hex2
235
+ *
236
+ * (TP.mh X TP.nh) hexes in districts; allStones: HSC[]
237
+ *
238
+ * With a Mark and off-map: skipHex & resignHex
239
+ *
240
+ */
241
+ export declare class HexMap<T extends Hex> extends Array<Array<T>> implements HexM<T> {
242
+ hexC: HexConstructor<Hex>;
243
+ static readonly distColor: string[];
244
+ get asHex2Map(): HexMap<Hex2>;
245
+ /** Each occupied Hex, with the occupying PlayerColor */
246
+ readonly district: Array<T[]>;
247
+ hexAry: T[];
248
+ readonly mapCont: MapCont;
249
+ readonly radius: number;
250
+ /** return this.centerHex.xywh() for this.topo */
251
+ get xywh(): {
252
+ x: number;
253
+ y: number;
254
+ w: number;
255
+ h: number;
256
+ dxdc: number;
257
+ dydr: number;
258
+ };
259
+ private minCol?;
260
+ private maxCol?;
261
+ private minRow?;
262
+ private maxRow?;
263
+ get centerHex(): T;
264
+ get nRowCol(): number[];
265
+ getCornerHex(dn: HexDir): Hex;
266
+ rcLinear(row: number, col: number): number;
267
+ readonly metaMap: T[][];
268
+ mark: HexMark | undefined;
269
+ Aname: string;
270
+ /**
271
+ * HexMap: TP.nRows X TP.nCols hexes.
272
+ *
273
+ * Basic map is non-GUI, addToMapCont uses Hex2 elements to enable GUI interaction.
274
+ * @param addToMapCont use Hex2 for Hex, make Containers: hexCont, infCont, markCont, stoneCont
275
+ * @param hexC Constructor<T> for the Hex elements (typed as HexConstructor<Hex> for Typescript...)
276
+ */
277
+ constructor(radius?: number, addToMapCont?: boolean, hexC?: HexConstructor<Hex>);
278
+ get topoRot(): 0 | 30;
279
+ makeMark(): HexMark;
280
+ /** create/attach Graphical components for HexMap */
281
+ addToMapCont(hexC?: Constructor<T>): this;
282
+ /** ...stage.update() */
283
+ update(): void;
284
+ /** to build this HexMap: create Hex (or Hex2) and link it to neighbors. */
285
+ addHex(row: number, col: number, district: number, hexC?: Constructor<T>): T;
286
+ hexUnderObj(dragObj: DisplayObject, legalOnly?: boolean): T | undefined;
287
+ /** find first Hex matching the given predicate function */
288
+ findHex<K extends T>(fn: (hex: K) => boolean): K | undefined;
289
+ /** Array.forEach does not use negative indices: ASSERT [row,col] is non-negative (so 'of' works) */
290
+ forEachHex<K extends T>(fn: (hex: K) => void): void;
291
+ /** return array of results of mapping fn over each Hex */
292
+ mapEachHex<K extends T, R>(fn: (hex: K) => R): R[];
293
+ /** find all Hexes matching given predicate */
294
+ filterEachHex<K extends T>(fn: (hex: K) => boolean): K[];
295
+ /** make this.mark visible above the given Hex */
296
+ showMark(hex?: Hex): void;
297
+ /** neighborhood topology, E-W & N-S orientation; even(n0) & odd(n1) rows: */
298
+ topo: (rc: RC) => (TopoEW | TopoNS);
299
+ /** see also: Hex.linkDirs */
300
+ get linkDirs(): HexDir[];
301
+ nextRowCol(rc: RC, dir: HexDir, nt?: Topo): RC;
302
+ /** link hex to/from each extant neighor */
303
+ link(hex: T, rc?: RC, map?: T[][], nt?: Topo, lf?: (hex: T) => LINKS<T>): void;
304
+ /**
305
+ * The [Legal] Hex under the given x,y coordinates.
306
+ * If on the line, then the top (last drawn) Hex.
307
+ * @param x in local coordinates of this HexMap.mapCont
308
+ * @param y
309
+ * @param legal - returnn ONLY hex with LegalMark visible & mouseenabled.
310
+ * @returns the Hex2 under mouse or undefined, if not a Hex (background)
311
+ */
312
+ hexUnderPoint(x: number, y: number, legal?: boolean): T | undefined;
313
+ private _nh;
314
+ private _mh;
315
+ get nh(): number;
316
+ get mh(): number;
317
+ /**
318
+ *
319
+ * @param nh number of hexes on on edge of metaHex
320
+ * @param mh order of metaHexes (greater than 0);
321
+ */
322
+ makeAllDistricts(nh?: number, mh?: number): T[];
323
+ centerOnContainer(): void;
324
+ pickColor(hexAry: Hex2[]): string;
325
+ /**
326
+ * rings of Hex with EwTopo; HexShape(tilt = 'NE')
327
+ * @param nh order of inner-hex: number hexes on side of meta-hex
328
+ * @param district identifying number of this district
329
+ * @param mr make new district on meta-row
330
+ * @param mc make new district on meta-col
331
+ */
332
+ makeDistrict(nh: number, district: number, mr: number, mc: number): T[];
333
+ setDistrictColor(hexAry: T[], district?: number): void;
334
+ /**
335
+ *
336
+ * @param n number of Hex to create
337
+ * @param hex start with a Hex to the West of this Hex
338
+ * @param dir after first Hex move this Dir for each other hex
339
+ * @param district
340
+ * @param hexAry push created Hex(s) on this array
341
+ * @returns RC of next Hex to create (==? RC of original hex)
342
+ */
343
+ newHexesOnLine(n: number, rc: RC, dir: HexDir, district: number, hexAry: Hex[]): RC;
344
+ }
345
+ /** Marker class for HexMap used by GamePlayD */
346
+ export declare class HexMapD extends HexMap<Hex> {
347
+ }
348
+ export {};
349
+ //# sourceMappingURL=hex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":"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"}
package/dist/hex.js CHANGED
@@ -673,7 +673,7 @@ export class HexMap extends Array {
673
673
  //console.groupCollapsed(`makelDistrict [mr: ${mr}, mc: ${mc}] hex0= ${hex.Aname}:${district}-${dcolor}`)
674
674
  //console.log(`.makeDistrict: [mr: ${mr}, mc: ${mc}] hex0= ${hex.Aname}`, hex)
675
675
  const dirs = this.linkDirs; // HexDirs of the extant Topo.
676
- const startDir = dirs.includes('W') ? 'W' : 'WN'; // 'W' or 'WN'
676
+ const startDir = dirs.includes('W') ? 'W' : 'WS'; // 'W' or 'WN'
677
677
  for (let ring = 1; ring < nh; ring++) {
678
678
  rc = this.nextRowCol(rc, startDir); // step West to start a ring
679
679
  // place 'ring' hexes along each axis-line:
@@ -712,3 +712,4 @@ export class HexMap extends Array {
712
712
  /** Marker class for HexMap used by GamePlayD */
713
713
  export class HexMapD extends HexMap {
714
714
  }
715
+ //# sourceMappingURL=hex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.js","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /** Simple async Image loader [from ImageReveal.loadImage()]
2
+ *
3
+ * see also: createjs.ImageLoader, which we don't use.
4
+ */
5
+ export declare class ImageLoader {
6
+ static ipser: number;
7
+ /**
8
+ * Promise to load url as HTMLImageElement
9
+ */
10
+ loadImage(fname0: string, ext?: string): Promise<HTMLImageElement>;
11
+ /**
12
+ * load all fnames, return Promise.all()
13
+ * @param fnames
14
+ */
15
+ loadImages(fnames?: string[], ext?: string): Promise<Map<string, HTMLImageElement>>;
16
+ /**
17
+ *
18
+ * @param args -
19
+ * - root: path to image directory with trailing '/'
20
+ * - fnames: string[] basenames of each image to load
21
+ * - ext: file extension (for ex: 'png' or 'jpg')
22
+ *
23
+ * @param imap supply or create new Map()
24
+ * @param cb invoked with (imap)
25
+ */
26
+ constructor(args: {
27
+ root: string;
28
+ fnames: string[];
29
+ ext: string;
30
+ }, cb?: (imap: Map<string, HTMLImageElement>) => void);
31
+ imap: Map<string, HTMLImageElement>;
32
+ ipmap: Map<string, Promise<HTMLImageElement>>;
33
+ readonly root: string;
34
+ readonly fnames: string[];
35
+ readonly ext: string;
36
+ imagePromises: Promise<HTMLImageElement>[];
37
+ imageMapPromise: Promise<Map<string, HTMLImageElement>>;
38
+ }
39
+ //# sourceMappingURL=image-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-loader.d.ts","sourceRoot":"","sources":["../src/image-loader.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,SAAK;IACjB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBpE;;;OAGG;IACH,UAAU,CAAC,MAAM,WAAc,EAAE,GAAG,SAAW;IAS/C;;;;;;;;;OASG;gBACS,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAC/D,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,IAAI;IASpD,IAAI,gCAAuC;IAC3C,KAAK,yCAAgD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC3C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;CACxD"}
@@ -67,3 +67,4 @@ export class ImageLoader {
67
67
  imagePromises;
68
68
  imageMapPromise;
69
69
  }
70
+ //# sourceMappingURL=image-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-loader.js","sourceRoot":"","sources":["../src/image-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export * from './choosers.js';
2
+ export * from './counters.js';
3
+ export * from './game-play.js';
4
+ export * from './game-setup.js';
5
+ export * from './game-state.js';
6
+ export * from './hex-intfs.js';
7
+ export * from './hex.js';
8
+ export * from './image-loader.js';
9
+ export * from './meeple.js';
10
+ export * from './plan-proxy.js';
11
+ export * from './player-panel.js';
12
+ export * from './player.js';
13
+ export * from './scenario-parser.js';
14
+ export * from './shapes.js';
15
+ export * from './stream-writer.js';
16
+ export * from './table-params.js';
17
+ export * from './table.js';
18
+ export * from './text-log.js';
19
+ export * from './tile-source.js';
20
+ export * from './tile.js';
21
+ export * from './types.js';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}