@thegraid/hexlib 1.0.14 → 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.
package/dist/table.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  /// <reference types="easeljs" />
2
2
  /// <reference types="createjs-lib" />
3
+ /// <reference types="@thegraid/easeljs-lib/dist/createjs-functions" />
3
4
  import { Constructor, Dragger, DragInfo, DropdownStyle, ParamGUI, ScaleableContainer, XY } from "@thegraid/easeljs-lib";
4
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,15 +21,15 @@ 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
31
  export interface DragContext {
31
- targetHex: Hex2;
32
+ targetHex: IHex2;
32
33
  lastShift?: boolean;
33
34
  lastCtrl?: boolean;
34
35
  info: DragInfo;
@@ -50,7 +51,10 @@ declare class TextLog extends NamedContainer {
50
51
  private spaceLines;
51
52
  log(line: string, from?: string, toConsole?: boolean): string;
52
53
  }
53
- /** layout display components, setup callbacks to GamePlay */
54
+ /** layout display components, setup callbacks to GamePlay.
55
+ *
56
+ * uses a HexMap\<IHex2\>
57
+ */
54
58
  export declare class Table {
55
59
  static table: Table;
56
60
  static stageTable(obj: DisplayObject): Table;
@@ -59,7 +63,7 @@ export declare class Table {
59
63
  gamePlay: GamePlay;
60
64
  stage: Stage;
61
65
  bgRect: Shape;
62
- hexMap: HexMap<Hex2>;
66
+ hexMap: HexMap<IHex2>;
63
67
  paramGUIs: ParamGUI[];
64
68
  netGUI: ParamGUI;
65
69
  /** initial visibility for toggleText */
@@ -73,6 +77,11 @@ export declare class Table {
73
77
  winText: Text;
74
78
  winBack: Shape;
75
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>;
76
85
  overlayCont: Container;
77
86
  constructor(stage: Stage);
78
87
  /** shows the last 2 start of turn lines */
@@ -90,12 +99,312 @@ export declare class Table {
90
99
  toggleText(vis?: boolean): undefined;
91
100
  aiControl(color?: string, dx?: number, rad?: number): Container;
92
101
  /** all the non-map hexes created by newHex2 */
93
- newHexes: Hex2[];
94
- 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
+ };
95
254
  noRowHex(name: string, crxy: {
96
255
  row: number;
97
256
  col: number;
98
- }, 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
+ };
99
408
  /**
100
409
  * all number in units of dxdc or dydr
101
410
  * @param x0 frame left; relative to scaleCont
@@ -112,6 +421,10 @@ export declare class Table {
112
421
  w: number;
113
422
  h: number;
114
423
  };
424
+ /**
425
+ * Inject gamePlay, gamePlay.hexMap and hexC; setBackground and cache; layoutTable2; makePerPlayer;
426
+ * setupUndoButtons; layoutTurnlog;
427
+ */
115
428
  layoutTable(gamePlay: GamePlay): void;
116
429
  layoutTurnlog(rowy?: number, colx?: number): void;
117
430
  colf(pIndex: number, icol: number, row: number): {
@@ -143,10 +456,160 @@ export declare class Table {
143
456
  makePerPlayer(): void;
144
457
  /** move cont to nominal [row, col] of hexCont */
145
458
  setToRowCol(cont: Container, row?: number, col?: number, hexCont?: Container): void;
146
- sourceOnHex(source: TileSource<Tile>, hex: Hex2): void;
459
+ sourceOnHex(source: TileSource<Tile>, hex: IHex2): void;
147
460
  makeCircleButton(color?: string, rad?: number, c?: string, fs?: number): Container;
148
461
  makeSquareButton(color: string | undefined, xywh: XYWH, c?: string, fs?: number): Container;
149
- 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
+ };
150
613
  /** Params that affect the rules of the game & board
151
614
  *
152
615
  * ParamGUI --> board & rules [under stats panel]
@@ -169,7 +632,157 @@ export declare class Table {
169
632
  /** update table when a new Game is started. */
170
633
  startGame(scenario: Scenario): void;
171
634
  makeDragable(tile: DisplayObject): void;
172
- 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;
173
786
  dragContext: DragContext;
174
787
  dragFunc(tile: DisplayObject, info?: DragInfo): void;
175
788
  /** Table.dragFunc0 (Table.dragFunc to inject drag/start actions programatically)
@@ -177,17 +790,471 @@ export declare class Table {
177
790
  * @param info { first: boolean, event: MouseEvent }
178
791
  * @param hex the Hex that tile is currently over (may be undefined or off map)
179
792
  */
180
- dragFunc0(tile: Tile, info?: DragInfo, hex?: Hex2 | undefined): void;
181
- 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;
182
945
  dragStart(tile: Tile, ctx: DragContext): void;
183
946
  /** state of shiftKey has changed during drag */
184
947
  dragShift(tile: Tile | undefined, shiftKey: boolean | undefined, ctx: DragContext): void;
185
- dropFunc(dobj: DisplayObject, info?: DragInfo, 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;
186
1100
  /** synthesize dragStart(tile), tile.dragFunc0(hex), dropFunc(tile); */
187
1101
  dragStartAndDrop(tile: Tile, toHex: Hex): void;
188
1102
  private isDragging;
189
- /** Force this.dragger to drop the current drag object on given target Hex */
190
- 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;
191
1258
  /** Toggle dragging: dragTarget(target) OR stopDragging(targetHex)
192
1259
  * - attach supplied target to mouse-drag (default is eventHex.tile)
193
1260
  * @param target the DisplayObject being dragged