@thegraid/hexlib 1.0.13 → 1.1.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.
Files changed (45) hide show
  1. package/dist/game-play.d.ts +1 -1
  2. package/dist/game-play.d.ts.map +1 -1
  3. package/dist/game-play.js +4 -4
  4. package/dist/game-play.js.map +1 -1
  5. package/dist/game-setup.d.ts +39 -11
  6. package/dist/game-setup.d.ts.map +1 -1
  7. package/dist/game-setup.js +68 -21
  8. package/dist/game-setup.js.map +1 -1
  9. package/dist/hex.d.ts +282 -88
  10. package/dist/hex.d.ts.map +1 -1
  11. package/dist/hex.js +191 -171
  12. package/dist/hex.js.map +1 -1
  13. package/dist/meeple.d.ts +2 -2
  14. package/dist/meeple.d.ts.map +1 -1
  15. package/dist/meeple.js.map +1 -1
  16. package/dist/plan-proxy.d.ts.map +1 -1
  17. package/dist/player-panel.js +1 -1
  18. package/dist/player-panel.js.map +1 -1
  19. package/dist/player.d.ts +1 -0
  20. package/dist/player.d.ts.map +1 -1
  21. package/dist/player.js +1 -0
  22. package/dist/player.js.map +1 -1
  23. package/dist/scenario-parser.d.ts +2 -3
  24. package/dist/scenario-parser.d.ts.map +1 -1
  25. package/dist/scenario-parser.js.map +1 -1
  26. package/dist/shapes.d.ts +6 -6
  27. package/dist/shapes.d.ts.map +1 -1
  28. package/dist/shapes.js +9 -9
  29. package/dist/shapes.js.map +1 -1
  30. package/dist/table-params.d.ts +23 -2
  31. package/dist/table-params.d.ts.map +1 -1
  32. package/dist/table-params.js +43 -4
  33. package/dist/table-params.js.map +1 -1
  34. package/dist/table.d.ts +1099 -28
  35. package/dist/table.d.ts.map +1 -1
  36. package/dist/table.js +66 -41
  37. package/dist/table.js.map +1 -1
  38. package/dist/tile-source.d.ts +3 -3
  39. package/dist/tile-source.d.ts.map +1 -1
  40. package/dist/tile-source.js.map +1 -1
  41. package/dist/tile.d.ts +19 -14
  42. package/dist/tile.d.ts.map +1 -1
  43. package/dist/tile.js +8 -3
  44. package/dist/tile.js.map +1 -1
  45. package/package.json +2 -2
package/dist/table.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  /// <reference types="easeljs" />
2
2
  /// <reference types="createjs-lib" />
3
- import { Constructor, Dragger, DropdownStyle, ParamGUI, ScaleableContainer, XY } from "@thegraid/easeljs-lib";
4
- import { Container, DisplayObject, EventDispatcher, MouseEvent, Shape, Stage, Text } from "@thegraid/easeljs-module";
3
+ /// <reference types="@thegraid/easeljs-lib/dist/createjs-functions" />
4
+ import { Constructor, Dragger, DragInfo, DropdownStyle, ParamGUI, ScaleableContainer, XY } from "@thegraid/easeljs-lib";
5
+ import { Container, DisplayObject, EventDispatcher, Shape, Stage, Text } from "@thegraid/easeljs-module";
5
6
  import { NamedContainer, NamedObject, type GamePlay } from "./game-play";
6
7
  import { Scenario } from "./game-setup";
7
8
  import type { GameState } from "./game-state";
8
- import { Hex, Hex2, HexMap, IdHex } from "./hex";
9
+ import { Hex, IHex2, HexMap, IdHex, RecycleHex } from "./hex";
9
10
  import { XYWH } from "./hex-intfs";
10
11
  import { Player } from "./player";
11
12
  import { PlayerPanel } from "./player-panel";
@@ -20,22 +21,18 @@ export interface ActionButton extends Container {
20
21
  rollover?: ((b: ActionButton, over: boolean) => void);
21
22
  }
22
23
  export interface Dragable {
23
- dragFunc0(hex: Hex2, ctx: DragContext): void;
24
- dropFunc0(hex: Hex2, ctx: DragContext): void;
24
+ dragFunc0(hex: IHex2, ctx: DragContext): void;
25
+ dropFunc0(hex: IHex2, ctx: DragContext): void;
25
26
  }
26
27
  /** to own file... */
27
28
  declare class TablePlanner {
28
29
  constructor(gamePlay: GamePlay);
29
30
  }
30
- type MinDragInfo = {
31
- first?: boolean;
32
- event?: MouseEvent;
33
- };
34
31
  export interface DragContext {
35
- targetHex: Hex2;
32
+ targetHex: IHex2;
36
33
  lastShift?: boolean;
37
34
  lastCtrl?: boolean;
38
- info: MinDragInfo;
35
+ info: DragInfo;
39
36
  tile?: Tile;
40
37
  nLegal: number;
41
38
  gameState?: GameState;
@@ -54,7 +51,10 @@ declare class TextLog extends NamedContainer {
54
51
  private spaceLines;
55
52
  log(line: string, from?: string, toConsole?: boolean): string;
56
53
  }
57
- /** layout display components, setup callbacks to GamePlay */
54
+ /** layout display components, setup callbacks to GamePlay.
55
+ *
56
+ * uses a HexMap\<IHex2\>
57
+ */
58
58
  export declare class Table {
59
59
  static table: Table;
60
60
  static stageTable(obj: DisplayObject): Table;
@@ -63,7 +63,7 @@ export declare class Table {
63
63
  gamePlay: GamePlay;
64
64
  stage: Stage;
65
65
  bgRect: Shape;
66
- hexMap: HexMap<Hex2>;
66
+ hexMap: HexMap<IHex2>;
67
67
  paramGUIs: ParamGUI[];
68
68
  netGUI: ParamGUI;
69
69
  /** initial visibility for toggleText */
@@ -77,6 +77,11 @@ export declare class Table {
77
77
  winText: Text;
78
78
  winBack: Shape;
79
79
  dragger: Dragger;
80
+ /**
81
+ * constructor for newHex2() off-map Hex.
82
+ *
83
+ * typically: this.hexC = this.hexMap.hexC as Constructor\<IHex2\> */
84
+ hexC: Constructor<IHex2>;
80
85
  overlayCont: Container;
81
86
  constructor(stage: Stage);
82
87
  /** shows the last 2 start of turn lines */
@@ -94,12 +99,312 @@ export declare class Table {
94
99
  toggleText(vis?: boolean): undefined;
95
100
  aiControl(color?: string, dx?: number, rad?: number): Container;
96
101
  /** all the non-map hexes created by newHex2 */
97
- newHexes: Hex2[];
98
- newHex2(row: number | undefined, col: number | undefined, name: string, claz?: Constructor<Hex2>, sy?: number): Hex2;
102
+ newHexes: IHex2[];
103
+ newHex2(row: number | undefined, col: number | undefined, name: string, claz?: Constructor<IHex2>, sy?: number): {
104
+ implementsIHex2: boolean;
105
+ readonly cont: import("./hex").HexCont;
106
+ readonly radius: number;
107
+ readonly hexShape: HexShape;
108
+ readonly mapCont: import("./hex").MapCont;
109
+ readonly markCont: Container;
110
+ x: number;
111
+ y: number;
112
+ readonly scaleX: number;
113
+ readonly scaleY: number;
114
+ district: number | undefined;
115
+ distColor: string;
116
+ distText: Text;
117
+ rcText: Text;
118
+ setUnit: (unit: Tile, meep?: boolean) => void;
119
+ tile: Tile | undefined;
120
+ meep: import("./meeple").Meeple | undefined;
121
+ constructorCode: (map: import("./hex").HexM<{
122
+ implementsIHex2: boolean;
123
+ readonly cont: import("./hex").HexCont;
124
+ readonly radius: number;
125
+ readonly hexShape: HexShape;
126
+ readonly mapCont: import("./hex").MapCont;
127
+ readonly markCont: Container;
128
+ x: number;
129
+ y: number;
130
+ readonly scaleX: number;
131
+ readonly scaleY: number;
132
+ district: number | undefined;
133
+ distColor: string;
134
+ distText: Text;
135
+ rcText: Text;
136
+ setUnit: (unit: Tile, meep?: boolean) => void;
137
+ tile: Tile | undefined;
138
+ meep: import("./meeple").Meeple | undefined;
139
+ constructorCode: any;
140
+ showText: (vis?: boolean) => void;
141
+ readonly legalMark: import("./shapes").LegalMark;
142
+ isLegal: boolean;
143
+ initCont: (row: number, col: number) => void;
144
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
145
+ setHexColor: (color: string, district?: number | undefined) => void;
146
+ metricDist: (hex: Hex) => number;
147
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
148
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
149
+ _tile: import("./tile").MapTile | undefined;
150
+ _meep: import("./meeple").Meeple | undefined;
151
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
152
+ toString: (color?: string) => string;
153
+ rcspString: (color?: string) => string;
154
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
155
+ x: number;
156
+ y: number;
157
+ w: number;
158
+ h: number;
159
+ dxdc: number;
160
+ dydr: number;
161
+ };
162
+ readonly xywh0: {
163
+ x: number;
164
+ y: number;
165
+ w: number;
166
+ h: number;
167
+ dxdc: number;
168
+ dydr: number;
169
+ };
170
+ Aname: string;
171
+ readonly iHex: IdHex;
172
+ readonly rcs: string;
173
+ readonly rowsp: string;
174
+ readonly colsp: string;
175
+ readonly rcsp: string;
176
+ readonly rc_linear: number;
177
+ _rcLinear?: number | undefined;
178
+ _district: number | undefined;
179
+ readonly isOnMap: boolean;
180
+ _isLegal: boolean;
181
+ readonly map: import("./hex").HexM<Hex>;
182
+ readonly row: number;
183
+ readonly col: number;
184
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
185
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
186
+ readonly linkDirs: import("./hex-intfs").HexDir[];
187
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
188
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
189
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
190
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
191
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
192
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
193
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
194
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
195
+ radialDist: (hex: Hex) => number;
196
+ }>, row: number, col: number, name?: string | undefined) => void;
197
+ showText: (vis?: boolean) => void;
198
+ readonly legalMark: import("./shapes").LegalMark;
199
+ isLegal: boolean;
200
+ initCont: (row: number, col: number) => void;
201
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
202
+ setHexColor: (color: string, district?: number | undefined) => void;
203
+ metricDist: (hex: Hex) => number;
204
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
205
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
206
+ _tile: import("./tile").MapTile | undefined;
207
+ _meep: import("./meeple").Meeple | undefined;
208
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
209
+ toString: (color?: string) => string;
210
+ rcspString: (color?: string) => string;
211
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
212
+ x: number;
213
+ y: number;
214
+ w: number;
215
+ h: number;
216
+ dxdc: number;
217
+ dydr: number;
218
+ };
219
+ readonly xywh0: {
220
+ x: number;
221
+ y: number;
222
+ w: number;
223
+ h: number;
224
+ dxdc: number;
225
+ dydr: number;
226
+ };
227
+ Aname: string;
228
+ readonly iHex: IdHex;
229
+ readonly rcs: string;
230
+ readonly rowsp: string;
231
+ readonly colsp: string;
232
+ readonly rcsp: string;
233
+ readonly rc_linear: number;
234
+ _rcLinear?: number | undefined;
235
+ _district: number | undefined;
236
+ readonly isOnMap: boolean;
237
+ _isLegal: boolean;
238
+ readonly map: import("./hex").HexM<Hex>;
239
+ readonly row: number;
240
+ readonly col: number;
241
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
242
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
243
+ readonly linkDirs: import("./hex-intfs").HexDir[];
244
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
245
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
246
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
247
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
248
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
249
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
250
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
251
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
252
+ radialDist: (hex: Hex) => number;
253
+ };
99
254
  noRowHex(name: string, crxy: {
100
255
  row: number;
101
256
  col: number;
102
- }, claz?: Constructor<Hex2>): Hex2;
257
+ }, claz?: Constructor<IHex2>): {
258
+ implementsIHex2: boolean;
259
+ readonly cont: import("./hex").HexCont;
260
+ readonly radius: number;
261
+ readonly hexShape: HexShape;
262
+ readonly mapCont: import("./hex").MapCont;
263
+ readonly markCont: Container;
264
+ x: number;
265
+ y: number;
266
+ readonly scaleX: number;
267
+ readonly scaleY: number;
268
+ district: number | undefined;
269
+ distColor: string;
270
+ distText: Text;
271
+ rcText: Text;
272
+ setUnit: (unit: Tile, meep?: boolean) => void;
273
+ tile: Tile | undefined;
274
+ meep: import("./meeple").Meeple | undefined;
275
+ constructorCode: (map: import("./hex").HexM<{
276
+ implementsIHex2: boolean;
277
+ readonly cont: import("./hex").HexCont;
278
+ readonly radius: number;
279
+ readonly hexShape: HexShape;
280
+ readonly mapCont: import("./hex").MapCont;
281
+ readonly markCont: Container;
282
+ x: number;
283
+ y: number;
284
+ readonly scaleX: number;
285
+ readonly scaleY: number;
286
+ district: number | undefined;
287
+ distColor: string;
288
+ distText: Text;
289
+ rcText: Text;
290
+ setUnit: (unit: Tile, meep?: boolean) => void;
291
+ tile: Tile | undefined;
292
+ meep: import("./meeple").Meeple | undefined;
293
+ constructorCode: any;
294
+ showText: (vis?: boolean) => void;
295
+ readonly legalMark: import("./shapes").LegalMark;
296
+ isLegal: boolean;
297
+ initCont: (row: number, col: number) => void;
298
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
299
+ setHexColor: (color: string, district?: number | undefined) => void;
300
+ metricDist: (hex: Hex) => number;
301
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
302
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
303
+ _tile: import("./tile").MapTile | undefined;
304
+ _meep: import("./meeple").Meeple | undefined;
305
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
306
+ toString: (color?: string) => string;
307
+ rcspString: (color?: string) => string;
308
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
309
+ x: number;
310
+ y: number;
311
+ w: number;
312
+ h: number;
313
+ dxdc: number;
314
+ dydr: number;
315
+ };
316
+ readonly xywh0: {
317
+ x: number;
318
+ y: number;
319
+ w: number;
320
+ h: number;
321
+ dxdc: number;
322
+ dydr: number;
323
+ };
324
+ Aname: string;
325
+ readonly iHex: IdHex;
326
+ readonly rcs: string;
327
+ readonly rowsp: string;
328
+ readonly colsp: string;
329
+ readonly rcsp: string;
330
+ readonly rc_linear: number;
331
+ _rcLinear?: number | undefined;
332
+ _district: number | undefined;
333
+ readonly isOnMap: boolean;
334
+ _isLegal: boolean;
335
+ readonly map: import("./hex").HexM<Hex>;
336
+ readonly row: number;
337
+ readonly col: number;
338
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
339
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
340
+ readonly linkDirs: import("./hex-intfs").HexDir[];
341
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
342
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
343
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
344
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
345
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
346
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
347
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
348
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
349
+ radialDist: (hex: Hex) => number;
350
+ }>, row: number, col: number, name?: string | undefined) => void;
351
+ showText: (vis?: boolean) => void;
352
+ readonly legalMark: import("./shapes").LegalMark;
353
+ isLegal: boolean;
354
+ initCont: (row: number, col: number) => void;
355
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
356
+ setHexColor: (color: string, district?: number | undefined) => void;
357
+ metricDist: (hex: Hex) => number;
358
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
359
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
360
+ _tile: import("./tile").MapTile | undefined;
361
+ _meep: import("./meeple").Meeple | undefined;
362
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
363
+ toString: (color?: string) => string;
364
+ rcspString: (color?: string) => string;
365
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
366
+ x: number;
367
+ y: number;
368
+ w: number;
369
+ h: number;
370
+ dxdc: number;
371
+ dydr: number;
372
+ };
373
+ readonly xywh0: {
374
+ x: number;
375
+ y: number;
376
+ w: number;
377
+ h: number;
378
+ dxdc: number;
379
+ dydr: number;
380
+ };
381
+ Aname: string;
382
+ readonly iHex: IdHex;
383
+ readonly rcs: string;
384
+ readonly rowsp: string;
385
+ readonly colsp: string;
386
+ readonly rcsp: string;
387
+ readonly rc_linear: number;
388
+ _rcLinear?: number | undefined;
389
+ _district: number | undefined;
390
+ readonly isOnMap: boolean;
391
+ _isLegal: boolean;
392
+ readonly map: import("./hex").HexM<Hex>;
393
+ readonly row: number;
394
+ readonly col: number;
395
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
396
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
397
+ readonly linkDirs: import("./hex-intfs").HexDir[];
398
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
399
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
400
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
401
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
402
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
403
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
404
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
405
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
406
+ radialDist: (hex: Hex) => number;
407
+ };
103
408
  /**
104
409
  * all number in units of dxdc or dydr
105
410
  * @param x0 frame left; relative to scaleCont
@@ -116,6 +421,10 @@ export declare class Table {
116
421
  w: number;
117
422
  h: number;
118
423
  };
424
+ /**
425
+ * Inject gamePlay, gamePlay.hexMap and hexC; setBackground and cache; layoutTable2; makePerPlayer;
426
+ * setupUndoButtons; layoutTurnlog;
427
+ */
119
428
  layoutTable(gamePlay: GamePlay): void;
120
429
  layoutTurnlog(rowy?: number, colx?: number): void;
121
430
  colf(pIndex: number, icol: number, row: number): {
@@ -123,7 +432,15 @@ export declare class Table {
123
432
  col: number;
124
433
  };
125
434
  layoutTable2(): void;
126
- makeGUIs(table: Table): void;
435
+ gpanel(makeGUI: (cont: Container) => ParamGUI, name: string, cx: number, cy: number, scale?: number, d?: number): ParamGUI;
436
+ /**
437
+ * makeNetworkGUI(parent)
438
+ * makeParamGUI(parent)
439
+ * makeParamGUI2(parent)
440
+ * makeDragable()
441
+ * @param table
442
+ */
443
+ makeGUIs(): void;
127
444
  get panelHeight(): number;
128
445
  get panelOffset(): number;
129
446
  /**
@@ -139,10 +456,160 @@ export declare class Table {
139
456
  makePerPlayer(): void;
140
457
  /** move cont to nominal [row, col] of hexCont */
141
458
  setToRowCol(cont: Container, row?: number, col?: number, hexCont?: Container): void;
142
- sourceOnHex(source: TileSource<Tile>, hex: Hex2): void;
459
+ sourceOnHex(source: TileSource<Tile>, hex: IHex2): void;
143
460
  makeCircleButton(color?: string, rad?: number, c?: string, fs?: number): Container;
144
461
  makeSquareButton(color: string | undefined, xywh: XYWH, c?: string, fs?: number): Container;
145
- makeRecycleHex(row?: number, col?: number): Hex2;
462
+ makeRecycleHex(row?: number, col?: number, claz?: typeof RecycleHex): {
463
+ implementsIHex2: boolean;
464
+ readonly cont: import("./hex").HexCont;
465
+ readonly radius: number;
466
+ readonly hexShape: HexShape;
467
+ readonly mapCont: import("./hex").MapCont;
468
+ readonly markCont: Container;
469
+ x: number;
470
+ y: number;
471
+ readonly scaleX: number;
472
+ readonly scaleY: number;
473
+ district: number | undefined;
474
+ distColor: string;
475
+ distText: Text;
476
+ rcText: Text;
477
+ setUnit: (unit: Tile, meep?: boolean) => void;
478
+ tile: Tile | undefined;
479
+ meep: import("./meeple").Meeple | undefined;
480
+ constructorCode: (map: import("./hex").HexM<{
481
+ implementsIHex2: boolean;
482
+ readonly cont: import("./hex").HexCont;
483
+ readonly radius: number;
484
+ readonly hexShape: HexShape;
485
+ readonly mapCont: import("./hex").MapCont;
486
+ readonly markCont: Container;
487
+ x: number;
488
+ y: number;
489
+ readonly scaleX: number;
490
+ readonly scaleY: number;
491
+ district: number | undefined;
492
+ distColor: string;
493
+ distText: Text;
494
+ rcText: Text;
495
+ setUnit: (unit: Tile, meep?: boolean) => void;
496
+ tile: Tile | undefined;
497
+ meep: import("./meeple").Meeple | undefined;
498
+ constructorCode: any;
499
+ showText: (vis?: boolean) => void;
500
+ readonly legalMark: import("./shapes").LegalMark;
501
+ isLegal: boolean;
502
+ initCont: (row: number, col: number) => void;
503
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
504
+ setHexColor: (color: string, district?: number | undefined) => void;
505
+ metricDist: (hex: Hex) => number;
506
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
507
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
508
+ _tile: import("./tile").MapTile | undefined;
509
+ _meep: import("./meeple").Meeple | undefined;
510
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
511
+ toString: (color?: string) => string;
512
+ rcspString: (color?: string) => string;
513
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
514
+ x: number;
515
+ y: number;
516
+ w: number;
517
+ h: number;
518
+ dxdc: number;
519
+ dydr: number;
520
+ };
521
+ readonly xywh0: {
522
+ x: number;
523
+ y: number;
524
+ w: number;
525
+ h: number;
526
+ dxdc: number;
527
+ dydr: number;
528
+ };
529
+ Aname: string;
530
+ readonly iHex: IdHex;
531
+ readonly rcs: string;
532
+ readonly rowsp: string;
533
+ readonly colsp: string;
534
+ readonly rcsp: string;
535
+ readonly rc_linear: number;
536
+ _rcLinear?: number | undefined;
537
+ _district: number | undefined;
538
+ readonly isOnMap: boolean;
539
+ _isLegal: boolean;
540
+ readonly map: import("./hex").HexM<Hex>;
541
+ readonly row: number;
542
+ readonly col: number;
543
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
544
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
545
+ readonly linkDirs: import("./hex-intfs").HexDir[];
546
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
547
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
548
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
549
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
550
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
551
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
552
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
553
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
554
+ radialDist: (hex: Hex) => number;
555
+ }>, row: number, col: number, name?: string | undefined) => void;
556
+ showText: (vis?: boolean) => void;
557
+ readonly legalMark: import("./shapes").LegalMark;
558
+ isLegal: boolean;
559
+ initCont: (row: number, col: number) => void;
560
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
561
+ setHexColor: (color: string, district?: number | undefined) => void;
562
+ metricDist: (hex: Hex) => number;
563
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
564
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
565
+ _tile: import("./tile").MapTile | undefined;
566
+ _meep: import("./meeple").Meeple | undefined;
567
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
568
+ toString: (color?: string) => string;
569
+ rcspString: (color?: string) => string;
570
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
571
+ x: number;
572
+ y: number;
573
+ w: number;
574
+ h: number;
575
+ dxdc: number;
576
+ dydr: number;
577
+ };
578
+ readonly xywh0: {
579
+ x: number;
580
+ y: number;
581
+ w: number;
582
+ h: number;
583
+ dxdc: number;
584
+ dydr: number;
585
+ };
586
+ Aname: string;
587
+ readonly iHex: IdHex;
588
+ readonly rcs: string;
589
+ readonly rowsp: string;
590
+ readonly colsp: string;
591
+ readonly rcsp: string;
592
+ readonly rc_linear: number;
593
+ _rcLinear?: number | undefined;
594
+ _district: number | undefined;
595
+ readonly isOnMap: boolean;
596
+ _isLegal: boolean;
597
+ readonly map: import("./hex").HexM<Hex>;
598
+ readonly row: number;
599
+ readonly col: number;
600
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
601
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
602
+ readonly linkDirs: import("./hex-intfs").HexDir[];
603
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
604
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
605
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
606
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
607
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
608
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
609
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
610
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
611
+ radialDist: (hex: Hex) => number;
612
+ };
146
613
  /** Params that affect the rules of the game & board
147
614
  *
148
615
  * ParamGUI --> board & rules [under stats panel]
@@ -163,27 +630,631 @@ export declare class Table {
163
630
  /** show player player score on table */
164
631
  setPlayerScore(plyr: Player, score: number, rank?: number): void;
165
632
  /** update table when a new Game is started. */
166
- startGame(gameState: Scenario): void;
633
+ startGame(scenario: Scenario): void;
167
634
  makeDragable(tile: DisplayObject): void;
168
- hexUnderObj(dragObj: DisplayObject, legalOnly?: boolean): Hex2 | undefined;
635
+ hexUnderObj(dragObj: DisplayObject, legalOnly?: boolean): {
636
+ implementsIHex2: boolean;
637
+ readonly cont: import("./hex").HexCont;
638
+ readonly radius: number;
639
+ readonly hexShape: HexShape;
640
+ readonly mapCont: import("./hex").MapCont;
641
+ readonly markCont: Container;
642
+ x: number;
643
+ y: number;
644
+ readonly scaleX: number;
645
+ readonly scaleY: number;
646
+ district: number | undefined;
647
+ distColor: string;
648
+ distText: Text;
649
+ rcText: Text;
650
+ setUnit: (unit: Tile, meep?: boolean) => void;
651
+ tile: Tile | undefined;
652
+ meep: import("./meeple").Meeple | undefined;
653
+ constructorCode: (map: import("./hex").HexM<{
654
+ implementsIHex2: boolean;
655
+ readonly cont: import("./hex").HexCont;
656
+ readonly radius: number;
657
+ readonly hexShape: HexShape;
658
+ readonly mapCont: import("./hex").MapCont;
659
+ readonly markCont: Container;
660
+ x: number;
661
+ y: number;
662
+ readonly scaleX: number;
663
+ readonly scaleY: number;
664
+ district: number | undefined;
665
+ distColor: string;
666
+ distText: Text;
667
+ rcText: Text;
668
+ setUnit: (unit: Tile, meep?: boolean) => void;
669
+ tile: Tile | undefined;
670
+ meep: import("./meeple").Meeple | undefined;
671
+ constructorCode: any;
672
+ showText: (vis?: boolean) => void;
673
+ readonly legalMark: import("./shapes").LegalMark;
674
+ isLegal: boolean;
675
+ initCont: (row: number, col: number) => void;
676
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
677
+ setHexColor: (color: string, district?: number | undefined) => void;
678
+ metricDist: (hex: Hex) => number;
679
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
680
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
681
+ _tile: import("./tile").MapTile | undefined;
682
+ _meep: import("./meeple").Meeple | undefined;
683
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
684
+ toString: (color?: string) => string;
685
+ rcspString: (color?: string) => string;
686
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
687
+ x: number;
688
+ y: number;
689
+ w: number;
690
+ h: number;
691
+ dxdc: number;
692
+ dydr: number;
693
+ };
694
+ readonly xywh0: {
695
+ x: number;
696
+ y: number;
697
+ w: number;
698
+ h: number;
699
+ dxdc: number;
700
+ dydr: number;
701
+ };
702
+ Aname: string;
703
+ readonly iHex: IdHex;
704
+ readonly rcs: string;
705
+ readonly rowsp: string;
706
+ readonly colsp: string;
707
+ readonly rcsp: string;
708
+ readonly rc_linear: number;
709
+ _rcLinear?: number | undefined;
710
+ _district: number | undefined;
711
+ readonly isOnMap: boolean;
712
+ _isLegal: boolean;
713
+ readonly map: import("./hex").HexM<Hex>;
714
+ readonly row: number;
715
+ readonly col: number;
716
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
717
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
718
+ readonly linkDirs: import("./hex-intfs").HexDir[];
719
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
720
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
721
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
722
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
723
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
724
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
725
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
726
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
727
+ radialDist: (hex: Hex) => number;
728
+ }>, row: number, col: number, name?: string | undefined) => void;
729
+ showText: (vis?: boolean) => void;
730
+ readonly legalMark: import("./shapes").LegalMark;
731
+ isLegal: boolean;
732
+ initCont: (row: number, col: number) => void;
733
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
734
+ setHexColor: (color: string, district?: number | undefined) => void;
735
+ metricDist: (hex: Hex) => number;
736
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
737
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
738
+ _tile: import("./tile").MapTile | undefined;
739
+ _meep: import("./meeple").Meeple | undefined;
740
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
741
+ toString: (color?: string) => string;
742
+ rcspString: (color?: string) => string;
743
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
744
+ x: number;
745
+ y: number;
746
+ w: number;
747
+ h: number;
748
+ dxdc: number;
749
+ dydr: number;
750
+ };
751
+ readonly xywh0: {
752
+ x: number;
753
+ y: number;
754
+ w: number;
755
+ h: number;
756
+ dxdc: number;
757
+ dydr: number;
758
+ };
759
+ Aname: string;
760
+ readonly iHex: IdHex;
761
+ readonly rcs: string;
762
+ readonly rowsp: string;
763
+ readonly colsp: string;
764
+ readonly rcsp: string;
765
+ readonly rc_linear: number;
766
+ _rcLinear?: number | undefined;
767
+ _district: number | undefined;
768
+ readonly isOnMap: boolean;
769
+ _isLegal: boolean;
770
+ readonly map: import("./hex").HexM<Hex>;
771
+ readonly row: number;
772
+ readonly col: number;
773
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
774
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
775
+ readonly linkDirs: import("./hex-intfs").HexDir[];
776
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
777
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
778
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
779
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
780
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
781
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
782
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
783
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
784
+ radialDist: (hex: Hex) => number;
785
+ } | undefined;
169
786
  dragContext: DragContext;
170
- dragFunc(tile: DisplayObject, info?: MinDragInfo): void;
787
+ dragFunc(tile: DisplayObject, info?: DragInfo): void;
171
788
  /** Table.dragFunc0 (Table.dragFunc to inject drag/start actions programatically)
172
789
  * @param tile is being dragged
173
- * @param info { first: boolean, mouse: MouseEvent }
790
+ * @param info { first: boolean, event: MouseEvent }
174
791
  * @param hex the Hex that tile is currently over (may be undefined or off map)
175
792
  */
176
- dragFunc0(tile: Tile, info: MinDragInfo, hex?: Hex2 | undefined): void;
177
- checkShift(hex: Hex2 | undefined, ctx: DragContext): void;
793
+ dragFunc0(tile: Tile, info?: DragInfo, hex?: {
794
+ implementsIHex2: boolean;
795
+ readonly cont: import("./hex").HexCont;
796
+ readonly radius: number;
797
+ readonly hexShape: HexShape;
798
+ readonly mapCont: import("./hex").MapCont;
799
+ readonly markCont: Container;
800
+ x: number;
801
+ y: number;
802
+ readonly scaleX: number;
803
+ readonly scaleY: number;
804
+ district: number | undefined;
805
+ distColor: string;
806
+ distText: Text;
807
+ rcText: Text;
808
+ setUnit: (unit: Tile, meep?: boolean) => void;
809
+ tile: Tile | undefined;
810
+ meep: import("./meeple").Meeple | undefined;
811
+ constructorCode: (map: import("./hex").HexM<{
812
+ implementsIHex2: boolean;
813
+ readonly cont: import("./hex").HexCont;
814
+ readonly radius: number;
815
+ readonly hexShape: HexShape;
816
+ readonly mapCont: import("./hex").MapCont;
817
+ readonly markCont: Container;
818
+ x: number;
819
+ y: number;
820
+ readonly scaleX: number;
821
+ readonly scaleY: number;
822
+ district: number | undefined;
823
+ distColor: string;
824
+ distText: Text;
825
+ rcText: Text;
826
+ setUnit: (unit: Tile, meep?: boolean) => void;
827
+ tile: Tile | undefined;
828
+ meep: import("./meeple").Meeple | undefined;
829
+ constructorCode: any;
830
+ showText: (vis?: boolean) => void;
831
+ readonly legalMark: import("./shapes").LegalMark;
832
+ isLegal: boolean;
833
+ initCont: (row: number, col: number) => void;
834
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
835
+ setHexColor: (color: string, district?: number | undefined) => void;
836
+ metricDist: (hex: Hex) => number;
837
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
838
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
839
+ _tile: import("./tile").MapTile | undefined;
840
+ _meep: import("./meeple").Meeple | undefined;
841
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
842
+ toString: (color?: string) => string;
843
+ rcspString: (color?: string) => string;
844
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
845
+ x: number;
846
+ y: number;
847
+ w: number;
848
+ h: number;
849
+ dxdc: number;
850
+ dydr: number;
851
+ };
852
+ readonly xywh0: {
853
+ x: number;
854
+ y: number;
855
+ w: number;
856
+ h: number;
857
+ dxdc: number;
858
+ dydr: number;
859
+ };
860
+ Aname: string;
861
+ readonly iHex: IdHex;
862
+ readonly rcs: string;
863
+ readonly rowsp: string;
864
+ readonly colsp: string;
865
+ readonly rcsp: string;
866
+ readonly rc_linear: number;
867
+ _rcLinear?: number | undefined;
868
+ _district: number | undefined;
869
+ readonly isOnMap: boolean;
870
+ _isLegal: boolean;
871
+ readonly map: import("./hex").HexM<Hex>;
872
+ readonly row: number;
873
+ readonly col: number;
874
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
875
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
876
+ readonly linkDirs: import("./hex-intfs").HexDir[];
877
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
878
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
879
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
880
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
881
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
882
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
883
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
884
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
885
+ radialDist: (hex: Hex) => number;
886
+ }>, row: number, col: number, name?: string | undefined) => void;
887
+ showText: (vis?: boolean) => void;
888
+ readonly legalMark: import("./shapes").LegalMark;
889
+ isLegal: boolean;
890
+ initCont: (row: number, col: number) => void;
891
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
892
+ setHexColor: (color: string, district?: number | undefined) => void;
893
+ metricDist: (hex: Hex) => number;
894
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
895
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
896
+ _tile: import("./tile").MapTile | undefined;
897
+ _meep: import("./meeple").Meeple | undefined;
898
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
899
+ toString: (color?: string) => string;
900
+ rcspString: (color?: string) => string;
901
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
902
+ x: number;
903
+ y: number;
904
+ w: number;
905
+ h: number;
906
+ dxdc: number;
907
+ dydr: number;
908
+ };
909
+ readonly xywh0: {
910
+ x: number;
911
+ y: number;
912
+ w: number;
913
+ h: number;
914
+ dxdc: number;
915
+ dydr: number;
916
+ };
917
+ Aname: string;
918
+ readonly iHex: IdHex;
919
+ readonly rcs: string;
920
+ readonly rowsp: string;
921
+ readonly colsp: string;
922
+ readonly rcsp: string;
923
+ readonly rc_linear: number;
924
+ _rcLinear?: number | undefined;
925
+ _district: number | undefined;
926
+ readonly isOnMap: boolean;
927
+ _isLegal: boolean;
928
+ readonly map: import("./hex").HexM<Hex>;
929
+ readonly row: number;
930
+ readonly col: number;
931
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
932
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
933
+ readonly linkDirs: import("./hex-intfs").HexDir[];
934
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
935
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
936
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
937
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
938
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
939
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
940
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
941
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
942
+ radialDist: (hex: Hex) => number;
943
+ } | undefined): void;
944
+ checkShift(hex: IHex2 | undefined, ctx: DragContext): void;
178
945
  dragStart(tile: Tile, ctx: DragContext): void;
179
946
  /** state of shiftKey has changed during drag */
180
947
  dragShift(tile: Tile | undefined, shiftKey: boolean | undefined, ctx: DragContext): void;
181
- dropFunc(dobj: DisplayObject, info?: MinDragInfo, hex?: Hex2 | undefined): void;
948
+ /** Tile dropFunc */
949
+ dropFunc(dobj: DisplayObject, info?: DragInfo, hex?: {
950
+ implementsIHex2: boolean;
951
+ readonly cont: import("./hex").HexCont;
952
+ readonly radius: number;
953
+ readonly hexShape: HexShape;
954
+ readonly mapCont: import("./hex").MapCont;
955
+ readonly markCont: Container;
956
+ x: number;
957
+ y: number;
958
+ readonly scaleX: number;
959
+ readonly scaleY: number;
960
+ district: number | undefined;
961
+ distColor: string;
962
+ distText: Text;
963
+ rcText: Text;
964
+ setUnit: (unit: Tile, meep?: boolean) => void;
965
+ tile: Tile | undefined;
966
+ meep: import("./meeple").Meeple | undefined;
967
+ constructorCode: (map: import("./hex").HexM<{
968
+ implementsIHex2: boolean;
969
+ readonly cont: import("./hex").HexCont;
970
+ readonly radius: number;
971
+ readonly hexShape: HexShape;
972
+ readonly mapCont: import("./hex").MapCont;
973
+ readonly markCont: Container;
974
+ x: number;
975
+ y: number;
976
+ readonly scaleX: number;
977
+ readonly scaleY: number;
978
+ district: number | undefined;
979
+ distColor: string;
980
+ distText: Text;
981
+ rcText: Text;
982
+ setUnit: (unit: Tile, meep?: boolean) => void;
983
+ tile: Tile | undefined;
984
+ meep: import("./meeple").Meeple | undefined;
985
+ constructorCode: any;
986
+ showText: (vis?: boolean) => void;
987
+ readonly legalMark: import("./shapes").LegalMark;
988
+ isLegal: boolean;
989
+ initCont: (row: number, col: number) => void;
990
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
991
+ setHexColor: (color: string, district?: number | undefined) => void;
992
+ metricDist: (hex: Hex) => number;
993
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
994
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
995
+ _tile: import("./tile").MapTile | undefined;
996
+ _meep: import("./meeple").Meeple | undefined;
997
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
998
+ toString: (color?: string) => string;
999
+ rcspString: (color?: string) => string;
1000
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
1001
+ x: number;
1002
+ y: number;
1003
+ w: number;
1004
+ h: number;
1005
+ dxdc: number;
1006
+ dydr: number;
1007
+ };
1008
+ readonly xywh0: {
1009
+ x: number;
1010
+ y: number;
1011
+ w: number;
1012
+ h: number;
1013
+ dxdc: number;
1014
+ dydr: number;
1015
+ };
1016
+ Aname: string;
1017
+ readonly iHex: IdHex;
1018
+ readonly rcs: string;
1019
+ readonly rowsp: string;
1020
+ readonly colsp: string;
1021
+ readonly rcsp: string;
1022
+ readonly rc_linear: number;
1023
+ _rcLinear?: number | undefined;
1024
+ _district: number | undefined;
1025
+ readonly isOnMap: boolean;
1026
+ _isLegal: boolean;
1027
+ readonly map: import("./hex").HexM<Hex>;
1028
+ readonly row: number;
1029
+ readonly col: number;
1030
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
1031
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
1032
+ readonly linkDirs: import("./hex-intfs").HexDir[];
1033
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
1034
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
1035
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
1036
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
1037
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
1038
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
1039
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
1040
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
1041
+ radialDist: (hex: Hex) => number;
1042
+ }>, row: number, col: number, name?: string | undefined) => void;
1043
+ showText: (vis?: boolean) => void;
1044
+ readonly legalMark: import("./shapes").LegalMark;
1045
+ isLegal: boolean;
1046
+ initCont: (row: number, col: number) => void;
1047
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
1048
+ setHexColor: (color: string, district?: number | undefined) => void;
1049
+ metricDist: (hex: Hex) => number;
1050
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
1051
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
1052
+ _tile: import("./tile").MapTile | undefined;
1053
+ _meep: import("./meeple").Meeple | undefined;
1054
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
1055
+ toString: (color?: string) => string;
1056
+ rcspString: (color?: string) => string;
1057
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
1058
+ x: number;
1059
+ y: number;
1060
+ w: number;
1061
+ h: number;
1062
+ dxdc: number;
1063
+ dydr: number;
1064
+ };
1065
+ readonly xywh0: {
1066
+ x: number;
1067
+ y: number;
1068
+ w: number;
1069
+ h: number;
1070
+ dxdc: number;
1071
+ dydr: number;
1072
+ };
1073
+ Aname: string;
1074
+ readonly iHex: IdHex;
1075
+ readonly rcs: string;
1076
+ readonly rowsp: string;
1077
+ readonly colsp: string;
1078
+ readonly rcsp: string;
1079
+ readonly rc_linear: number;
1080
+ _rcLinear?: number | undefined;
1081
+ _district: number | undefined;
1082
+ readonly isOnMap: boolean;
1083
+ _isLegal: boolean;
1084
+ readonly map: import("./hex").HexM<Hex>;
1085
+ readonly row: number;
1086
+ readonly col: number;
1087
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
1088
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
1089
+ readonly linkDirs: import("./hex-intfs").HexDir[];
1090
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
1091
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
1092
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
1093
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
1094
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
1095
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
1096
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
1097
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
1098
+ radialDist: (hex: Hex) => number;
1099
+ } | undefined): void;
182
1100
  /** synthesize dragStart(tile), tile.dragFunc0(hex), dropFunc(tile); */
183
1101
  dragStartAndDrop(tile: Tile, toHex: Hex): void;
184
1102
  private isDragging;
185
- /** Force this.dragger to drop the current drag object on given target Hex */
186
- stopDragging(target?: Hex2 | undefined): void;
1103
+ /** Force this.dragger to drop the current drag object on given target Hex.
1104
+ *
1105
+ * without checking isLegalTarget();
1106
+ */
1107
+ stopDragging(target?: {
1108
+ implementsIHex2: boolean;
1109
+ readonly cont: import("./hex").HexCont;
1110
+ readonly radius: number;
1111
+ readonly hexShape: HexShape;
1112
+ readonly mapCont: import("./hex").MapCont;
1113
+ readonly markCont: Container;
1114
+ x: number;
1115
+ y: number;
1116
+ readonly scaleX: number;
1117
+ readonly scaleY: number;
1118
+ district: number | undefined;
1119
+ distColor: string;
1120
+ distText: Text;
1121
+ rcText: Text;
1122
+ setUnit: (unit: Tile, meep?: boolean) => void;
1123
+ tile: Tile | undefined;
1124
+ meep: import("./meeple").Meeple | undefined;
1125
+ constructorCode: (map: import("./hex").HexM<{
1126
+ implementsIHex2: boolean;
1127
+ readonly cont: import("./hex").HexCont;
1128
+ readonly radius: number;
1129
+ readonly hexShape: HexShape;
1130
+ readonly mapCont: import("./hex").MapCont;
1131
+ readonly markCont: Container;
1132
+ x: number;
1133
+ y: number;
1134
+ readonly scaleX: number;
1135
+ readonly scaleY: number;
1136
+ district: number | undefined;
1137
+ distColor: string;
1138
+ distText: Text;
1139
+ rcText: Text;
1140
+ setUnit: (unit: Tile, meep?: boolean) => void;
1141
+ tile: Tile | undefined;
1142
+ meep: import("./meeple").Meeple | undefined;
1143
+ constructorCode: any;
1144
+ showText: (vis?: boolean) => void;
1145
+ readonly legalMark: import("./shapes").LegalMark;
1146
+ isLegal: boolean;
1147
+ initCont: (row: number, col: number) => void;
1148
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
1149
+ setHexColor: (color: string, district?: number | undefined) => void;
1150
+ metricDist: (hex: Hex) => number;
1151
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
1152
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
1153
+ _tile: import("./tile").MapTile | undefined;
1154
+ _meep: import("./meeple").Meeple | undefined;
1155
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
1156
+ toString: (color?: string) => string;
1157
+ rcspString: (color?: string) => string;
1158
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
1159
+ x: number;
1160
+ y: number;
1161
+ w: number;
1162
+ h: number;
1163
+ dxdc: number;
1164
+ dydr: number;
1165
+ };
1166
+ readonly xywh0: {
1167
+ x: number;
1168
+ y: number;
1169
+ w: number;
1170
+ h: number;
1171
+ dxdc: number;
1172
+ dydr: number;
1173
+ };
1174
+ Aname: string;
1175
+ readonly iHex: IdHex;
1176
+ readonly rcs: string;
1177
+ readonly rowsp: string;
1178
+ readonly colsp: string;
1179
+ readonly rcsp: string;
1180
+ readonly rc_linear: number;
1181
+ _rcLinear?: number | undefined;
1182
+ _district: number | undefined;
1183
+ readonly isOnMap: boolean;
1184
+ _isLegal: boolean;
1185
+ readonly map: import("./hex").HexM<Hex>;
1186
+ readonly row: number;
1187
+ readonly col: number;
1188
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
1189
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
1190
+ readonly linkDirs: import("./hex-intfs").HexDir[];
1191
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
1192
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
1193
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
1194
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
1195
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
1196
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
1197
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
1198
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
1199
+ radialDist: (hex: Hex) => number;
1200
+ }>, row: number, col: number, name?: string | undefined) => void;
1201
+ showText: (vis?: boolean) => void;
1202
+ readonly legalMark: import("./shapes").LegalMark;
1203
+ isLegal: boolean;
1204
+ initCont: (row: number, col: number) => void;
1205
+ makeHexShape: (shape?: Constructor<HexShape>) => HexShape;
1206
+ setHexColor: (color: string, district?: number | undefined) => void;
1207
+ metricDist: (hex: Hex) => number;
1208
+ cornerPoint: (dir0: import("./hex-intfs").HexDir, dir1: import("./hex-intfs").HexDir) => import("@thegraid/easeljs-module").Point;
1209
+ edgePoint: (dir: import("./hex-intfs").HexDir, rad?: number, point?: XY) => import("@thegraid/easeljs-module").Point;
1210
+ _tile: import("./tile").MapTile | undefined;
1211
+ _meep: import("./meeple").Meeple | undefined;
1212
+ readonly occupied: [Tile | undefined, import("./meeple").Meeple | undefined] | undefined;
1213
+ toString: (color?: string) => string;
1214
+ rcspString: (color?: string) => string;
1215
+ xywh: (radius?: number, ewTopo?: boolean, row?: number, col?: number) => {
1216
+ x: number;
1217
+ y: number;
1218
+ w: number;
1219
+ h: number;
1220
+ dxdc: number;
1221
+ dydr: number;
1222
+ };
1223
+ readonly xywh0: {
1224
+ x: number;
1225
+ y: number;
1226
+ w: number;
1227
+ h: number;
1228
+ dxdc: number;
1229
+ dydr: number;
1230
+ };
1231
+ Aname: string;
1232
+ readonly iHex: IdHex;
1233
+ readonly rcs: string;
1234
+ readonly rowsp: string;
1235
+ readonly colsp: string;
1236
+ readonly rcsp: string;
1237
+ readonly rc_linear: number;
1238
+ _rcLinear?: number | undefined;
1239
+ _district: number | undefined;
1240
+ readonly isOnMap: boolean;
1241
+ _isLegal: boolean;
1242
+ readonly map: import("./hex").HexM<Hex>;
1243
+ readonly row: number;
1244
+ readonly col: number;
1245
+ readonly links: import("./hex").LINKS<import("./hex").Hex2>;
1246
+ metaLinks: import("./hex").LINKS<import("./hex").Hex2>;
1247
+ readonly linkDirs: import("./hex-intfs").HexDir[];
1248
+ readonly linkHexes: (import("./hex").Hex2 | undefined)[];
1249
+ forEachLinkHex: (func: (hex: Hex | undefined, dir: import("./hex-intfs").HexDir | undefined, hex0: Hex) => unknown, inclCenter?: boolean) => void;
1250
+ findLinkHex: (pred: (hex: import("./hex").Hex2 | undefined, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => boolean) => import("./hex-intfs").HexDir | undefined;
1251
+ findInDir: (dir: import("./hex-intfs").HexDir, pred: (hex: Hex, dir: import("./hex-intfs").HexDir, hex0: Hex) => boolean) => Hex | undefined;
1252
+ hexesInDir: (dir: import("./hex-intfs").HexDir, rv?: import("./hex").Hex2[]) => import("./hex").Hex2[];
1253
+ forEachHexDir: (func: (hex: import("./hex").Hex2, dir: import("./hex-intfs").HexDir, hex0: import("./hex").Hex2) => unknown) => void;
1254
+ nextHex: (dir: import("./hex-intfs").HexDir, ns?: number) => Hex | undefined;
1255
+ lastHex: (ds: import("./hex-intfs").HexDir) => Hex;
1256
+ radialDist: (hex: Hex) => number;
1257
+ } | undefined): void;
187
1258
  /** Toggle dragging: dragTarget(target) OR stopDragging(targetHex)
188
1259
  * - attach supplied target to mouse-drag (default is eventHex.tile)
189
1260
  * @param target the DisplayObject being dragged