@thegraid/hexlib 1.1.12 → 1.2.7

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 (53) hide show
  1. package/dist/game-play.d.ts +33 -13
  2. package/dist/game-play.d.ts.map +1 -1
  3. package/dist/game-play.js +53 -36
  4. package/dist/game-play.js.map +1 -1
  5. package/dist/game-setup.d.ts +20 -5
  6. package/dist/game-setup.d.ts.map +1 -1
  7. package/dist/game-setup.js +20 -12
  8. package/dist/game-setup.js.map +1 -1
  9. package/dist/game-state.d.ts +20 -7
  10. package/dist/game-state.d.ts.map +1 -1
  11. package/dist/game-state.js +40 -36
  12. package/dist/game-state.js.map +1 -1
  13. package/dist/hex.d.ts +17 -9
  14. package/dist/hex.d.ts.map +1 -1
  15. package/dist/hex.js +19 -9
  16. package/dist/hex.js.map +1 -1
  17. package/dist/image-loader.d.ts.map +1 -1
  18. package/dist/image-loader.js.map +1 -1
  19. package/dist/meeple.d.ts +6 -8
  20. package/dist/meeple.d.ts.map +1 -1
  21. package/dist/meeple.js +8 -14
  22. package/dist/meeple.js.map +1 -1
  23. package/dist/player-panel.d.ts +3 -7
  24. package/dist/player-panel.d.ts.map +1 -1
  25. package/dist/player-panel.js +50 -38
  26. package/dist/player-panel.js.map +1 -1
  27. package/dist/player.d.ts +5 -2
  28. package/dist/player.d.ts.map +1 -1
  29. package/dist/player.js +10 -6
  30. package/dist/player.js.map +1 -1
  31. package/dist/scenario-parser.d.ts +8 -4
  32. package/dist/scenario-parser.d.ts.map +1 -1
  33. package/dist/scenario-parser.js +10 -4
  34. package/dist/scenario-parser.js.map +1 -1
  35. package/dist/shapes.d.ts +96 -33
  36. package/dist/shapes.d.ts.map +1 -1
  37. package/dist/shapes.js +151 -92
  38. package/dist/shapes.js.map +1 -1
  39. package/dist/table-params.d.ts +3 -3
  40. package/dist/table-params.d.ts.map +1 -1
  41. package/dist/table-params.js +2 -2
  42. package/dist/table-params.js.map +1 -1
  43. package/dist/table.d.ts +38 -11
  44. package/dist/table.d.ts.map +1 -1
  45. package/dist/table.js +79 -51
  46. package/dist/table.js.map +1 -1
  47. package/dist/text-log.js +1 -1
  48. package/dist/text-log.js.map +1 -1
  49. package/dist/tile.d.ts +22 -25
  50. package/dist/tile.d.ts.map +1 -1
  51. package/dist/tile.js +38 -37
  52. package/dist/tile.js.map +1 -1
  53. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
1
  declare const playerColorsLib: readonly ["b", "w"];
2
- export declare const playerColors: ("b" | "w")[];
2
+ export declare const playerColors: ("w" | "b")[];
3
3
  /** Default type for PlayerColor. Maybe don't import, define your own locally.
4
4
  *
5
5
  * @example
@@ -8,8 +8,8 @@ export declare const playerColors: ("b" | "w")[];
8
8
  * type PlayerColor = PCLib | 'c' // Player Colors + Criminal!
9
9
  */
10
10
  export type PlayerColor = typeof playerColorsLib[number];
11
- export declare const playerColor0: "b" | "w";
12
- export declare const playerColor1: "b" | "w";
11
+ export declare const playerColor0: "w" | "b";
12
+ export declare const playerColor1: "w" | "b";
13
13
  export declare function otherColor(color: PlayerColor): PlayerColor;
14
14
  export type PlayerColorRecord<T> = Record<PlayerColor, T>;
15
15
  /** @return \{ pc0: arg0 as T, pc1: arg1 as T, ...}: PlayerColorRecord\<T> */
@@ -1 +1 @@
1
- {"version":3,"file":"table-params.d.ts","sourceRoot":"","sources":["../src/table-params.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,qBAAsB,CAAA;AAC3C,eAAO,MAAM,YAAY,eAA2B,CAAC;AACrD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,YAAY,WAAkB,CAAA;AAC3C,eAAO,MAAM,YAAY,WAAkB,CAAA;AAE3C,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAgE;AAE3H,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACzD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,wBAIhD;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,CAAC,wBAE9D;AAED,6DAA6D;AAC7D,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE1C,qBAAa,EAAE;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAQ,EAAE,IAAI,SAAW,EAAE,MAAM,SAAa,EAAE,IAAI,SAAW,EAAE,IAAI,SAAK,GAAG,MAAM;IAGzG,wFAAwF;IACxF,MAAM,CAAC,YAAY,CAAC,IAAI,SAAiB;IAKzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,GAAE,MAAW,EAAE,KAAK,UAAQ,EAAE,KAAK,SAAiB;IAc1E,iDAAiD;IACjD,MAAM,CAAC,WAAW,4BAAwC;IAC1D,MAAM,CAAC,SAAS,UAAQ;IACxB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,WAAW,UAAQ;IAC1B,MAAM,CAAC,YAAY,SAAM;IACzB,MAAM,CAAC,GAAG,SAAK;IAEf,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,OAAO,EAAC,MAAM,CAAK;IAC1B,MAAM,CAAC,OAAO,EAAC,MAAM,CAAM;IAC3B,MAAM,CAAC,MAAM,SAAK;IAClB,MAAM,CAAC,MAAM,SAAK;IAElB,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGvC,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAC/B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAM;IAC/B,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,CAA6B;IACnD,MAAM,CAAC,MAAM;;;;;MAA2C;IAExD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAU;IAC9B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAiB;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAO;IAC3B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAiB;IAC1C,MAAM,CAAC,YAAY,EAAE,MAAM,CAAiB;IAE5C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAM;IAC5B,MAAM,CAAC,YAAY,EAAE,MAAM,CAAM;IAEjC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAQ;IAEzC,MAAM,CAAC,MAAM,SAAM;IACnB,MAAM,CAAC,SAAS,SAAM;IACtB,MAAM,CAAC,QAAQ,SAAM;IAGrB,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,UAAU,SAAK;CACvB"}
1
+ {"version":3,"file":"table-params.d.ts","sourceRoot":"","sources":["../src/table-params.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,qBAAsB,CAAA;AAC3C,eAAO,MAAM,YAAY,eAA2B,CAAC;AACrD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,YAAY,WAAkB,CAAA;AAC3C,eAAO,MAAM,YAAY,WAAkB,CAAA;AAE3C,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAgE;AAE3H,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACzD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,wBAIhD;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,CAAC,wBAE9D;AAED,6DAA6D;AAC7D,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE1C,qBAAa,EAAE;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAQ,EAAE,IAAI,SAAW,EAAE,MAAM,SAAa,EAAE,IAAI,SAAW,EAAE,IAAI,SAAK,GAAG,MAAM;IAGzG,wFAAwF;IACxF,MAAM,CAAC,YAAY,CAAC,IAAI,SAAiB;IAKzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,GAAE,MAAW,EAAE,KAAK,UAAQ,EAAE,KAAK,SAAiB;IAc1E,iDAAiD;IACjD,MAAM,CAAC,WAAW,4BAAwC;IAC1D,MAAM,CAAC,SAAS,UAAQ;IACxB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,WAAW,UAAQ;IAC1B,MAAM,CAAC,YAAY,SAAM;IACzB,MAAM,CAAC,GAAG,SAAK;IAEf,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,OAAO,EAAC,MAAM,CAAK;IAC1B,MAAM,CAAC,OAAO,EAAC,MAAM,CAAM;IAC3B,MAAM,CAAC,MAAM,SAAK;IAClB,MAAM,CAAC,MAAM,SAAK;IAElB,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGvC,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAC/B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAM;IAC/B,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,CAA6B;IACnD,MAAM,CAAC,MAAM;;;;;MAA2C;IAExD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAU;IAC9B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAiB;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAO;IAC3B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAiB;IAC1C,MAAM,CAAC,YAAY,EAAE,MAAM,CAAiB;IAE5C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAM;IAC5B,MAAM,CAAC,YAAY,EAAE,MAAM,CAAM;IAEjC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAQ;IAEzC,MAAM,CAAC,MAAM,SAAM;IACnB,MAAM,CAAC,SAAS,SAAmB;IACnC,MAAM,CAAC,QAAQ,SAAmB;IAGlC,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,UAAU,SAAK;CACvB"}
@@ -89,8 +89,8 @@ export class TP {
89
89
  static roboDrawTile = 1.0; // Bias toward draw Tile
90
90
  static trapNotDropTarget = true; // warn & alert when D&D to non-DropTarget
91
91
  static hexRad = 60;
92
- static meepleRad = 45;
93
- static meepleY0 = 15;
92
+ static meepleRad = TP.hexRad * .75;
93
+ static meepleY0 = TP.hexRad * .25;
94
94
  // for AI control:
95
95
  static maxPlys = 3;
96
96
  static maxBreadth = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"table-params.js","sourceRoot":"","sources":["../src/table-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-params.js","sourceRoot":"","sources":["../src/table-params.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU,CAAA,CAAC,iBAAiB;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;AASrD,mCAAmC;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAC3C,+CAA+C;AAC/C,MAAM,UAAU,UAAU,CAAC,KAAkB,IAAiB,OAAO,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA,CAAC,CAAC;AAG3H,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAAI,GAAG,IAAS;IAC/C,MAAM,EAAE,GAAG,EAA0B,CAAA;IACrC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzD,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAI,CAAyB;IAC7D,OAAO,iBAAiB,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,CAAC;AAKD,MAAM,OAAO,EAAE;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE;QAC9F,OAAO,GAAG,MAAM,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAA;IACvD,CAAC;IACD,wFAAwF;IACxF,MAAM,CAAC,YAAY,CAAC,OAAQ,EAAa;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC;SAAS,CAAC,CAAC,CAAA,4BAA4B;QACtF,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,OAAO,YAAY,CAAC;IACtB,CAAC;IACD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,QAAgB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,QAAS,EAAa;QACxE,sEAAsE;QACtE,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,oCAAoC;YAC/E,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,EAAE;gBAC3E,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC;aAClE;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,oDAAoD;YACxE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,wDAAwD;SAC7E;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,sCAAsC;IAEtD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,MAAM,CAAC,OAAO,GAAU,CAAC,CAAC,CAAG,yBAAyB;IACtD,MAAM,CAAC,OAAO,GAAU,EAAE,CAAC,CAAE,gBAAgB;IAC7C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAElB,MAAM,CAAC,eAAe,GAAa,EAAE,CAAC,CAAC,gCAAgC;IACvE,MAAM,CAAC,SAAS,GAAkB,IAAI,CAAC;IAEvC,gCAAgC;IAChC,MAAM,CAAC,SAAS,GAAY,GAAG,CAAA;IAC/B,MAAM,CAAC,UAAU,GAAW,GAAG,CAAA;IAC/B,MAAM,CAAC,SAAS,GAAY,GAAG,CAAA,CAAC,iDAAiD;IAEjF,MAAM,CAAC,OAAO,GAAW,yBAAyB,CAAC;IACnD,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;IAExD,MAAM,CAAC,KAAK,GAAW,OAAO,CAAA,CAAG,uBAAuB;IACxD,MAAM,CAAC,OAAO,GAAW,cAAc,CAAA;IACvC,MAAM,CAAC,KAAK,GAAW,IAAI,CAAA;IAC3B,MAAM,CAAC,UAAU,GAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAE,+BAA+B;IAC3E,MAAM,CAAC,YAAY,GAAW,aAAa,CAAC;IAE5C,MAAM,CAAC,OAAO,GAAW,EAAE,CAAC;IAC5B,MAAM,CAAC,YAAY,GAAW,GAAG,CAAA,CAAC,wBAAwB;IAE1D,MAAM,CAAC,iBAAiB,GAAY,IAAI,CAAC,CAAC,0CAA0C;IAEpF,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC;IACnC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC;IAElC,kBAAkB;IAClB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC"}
package/dist/table.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  /// <reference types="easeljs" />
2
2
  /// <reference types="createjs-lib" />
3
3
  /// <reference types="@thegraid/easeljs-lib/dist/createjs-functions" />
4
- import { Constructor, Dragger, DragInfo, DropdownStyle, ParamGUI, ScaleableContainer, XY } from "@thegraid/easeljs-lib";
4
+ import { Constructor, Dragger, DragInfo, DropdownStyle, NamedContainer, NamedObject, ParamGUI, ScaleableContainer, XY } from "@thegraid/easeljs-lib";
5
5
  import { Container, DisplayObject, EventDispatcher, Shape, Stage, Text } from "@thegraid/easeljs-module";
6
- import { NamedContainer, NamedObject, type GamePlay } from "./game-play";
6
+ import { type GamePlay } from "./game-play";
7
7
  import { Scenario } from "./game-setup";
8
8
  import type { GameState } from "./game-state";
9
9
  import { Hex, HexM, IdHex, IHex2, RecycleHex } from "./hex";
@@ -38,10 +38,11 @@ declare class TextLog extends NamedContainer {
38
38
  lines: Text[];
39
39
  lastLine: string;
40
40
  nReps: number;
41
- height(n?: number): number;
41
+ height(nLines?: number): number;
42
42
  clear(): void;
43
43
  private newText;
44
44
  private spaceLines;
45
+ /** convert line to single-line; inc count if same line; insert & scroll up */
45
46
  log(line: string, from?: string, toConsole?: boolean): string;
46
47
  }
47
48
  /** layout display components, setup callbacks to GamePlay.
@@ -77,12 +78,14 @@ export declare class Table {
77
78
  hexC: Constructor<IHex2>;
78
79
  readonly overlayCont: NamedContainer;
79
80
  constructor(stage: Stage);
80
- /** shows the last 2 start of turn lines */
81
+ /** shows the last TP.numPlayers start of turn lines */
81
82
  turnLog: TextLog;
82
83
  /** show [13] other interesting log strings */
83
84
  textLog: TextLog;
84
- logTurn(line: string): void;
85
- logText(line: string, from?: string): void;
85
+ /** write '// ${turn}: ${line}' comment line to TextLog (& console) & logWriter */
86
+ logText(line: string, from?: string, toConsole?: boolean): void;
87
+ logCurPlayer(plyr: Player): void;
88
+ logTurnPlayer(line: string): void;
86
89
  setupUndoButtons(xOffs: number, bSize: number, skipRad: number, bgr: XYWH, row?: number, col?: number): void;
87
90
  showWinText(msg?: string, color?: string): void;
88
91
  enableHexInspector(qY?: number, cont?: Container): HexShape;
@@ -462,10 +465,26 @@ export declare class Table {
462
465
  * six panel locations [row, col, dir][].
463
466
  *
464
467
  * col==0 is on left edge of hexMap; The *center* hex is col == (nHexes-1)
468
+ * @example
469
+ * P0 --- P3
470
+ * P1 --C-- P4
471
+ * P2 --- P5
472
+ */
473
+ getPanelLocs(): number[][];
474
+ /**
475
+ * Which PanelLocs to use for a given number of Players
476
+ * @param np number of Players
477
+ * @returns array of indices into PanelLocs (one for each Player)
478
+ */
479
+ panelLocsForNp(np: number): number[];
480
+ /** Panel location for the nth of nPlayers.
481
+ *
482
+ * @param pIndex Player index (0 .. nPlayers-1)
483
+ * @param nPlayers [allPlayers.length] total number of Players
484
+ * @param panelLocs [getPanelLocs] potential panel locations
485
+ * @return panelLocs[panelLocsForNp(nPlayers)][pIndex]
465
486
  */
466
- setPanelLocs(): number[][];
467
- /** select from setPanelLoc, based on pIndex from total np */
468
- panelLoc(pIndex: number, np?: number, locs?: number[][]): number[];
487
+ panelLoc(pIndex: number, nPlayers?: number, panelLocs?: number[][]): number[];
469
488
  readonly allPlayerPanels: PlayerPanel[];
470
489
  /** make player panels, placed at panelLoc... */
471
490
  makePerPlayer(): void;
@@ -641,7 +660,15 @@ export declare class Table {
641
660
  showNetworkGroup(group_name?: string): void;
642
661
  doneButton: UtilButton;
643
662
  doneClicked: (evt?: any) => void;
644
- addDoneButton(actionCont: Container, rh: number): Container;
663
+ /**
664
+ * May be contained or placed with ActionSelection buttons.
665
+ * @param cont [scaleCont] a Container to hold the DoneButton
666
+ * @param cx [0] offset in Container (to 'center', 'left', 'right' per align)
667
+ * @param cy [0] offset in Container (to top of text box)
668
+ * @param align ['center'] left or right
669
+ * @returns actionCont
670
+ */
671
+ addDoneButton(cont?: Container, cx?: number, cy?: number, align?: string): Container;
645
672
  /** show player player score on table */
646
673
  setPlayerScore(plyr: Player, score: number, rank?: number): void;
647
674
  /** update table when a new Game is started.
@@ -1305,8 +1332,8 @@ export declare class Table {
1305
1332
  */
1306
1333
  dragTarget(dragObj?: DisplayObject, xy?: XY): void;
1307
1334
  startDragging(dragObj: DisplayObject, xy?: XY): void;
1308
- logCurPlayer(plyr: Player): void;
1309
1335
  showRedoUndoCount(): void;
1336
+ /** log --> comment line to [console], TextLog, logWriter; showRedoUndoCount() */
1310
1337
  showNextPlayer(log?: boolean): void;
1311
1338
  _tablePlanner: TablePlanner;
1312
1339
  get tablePlanner(): TablePlanner;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
package/dist/table.js CHANGED
@@ -1,9 +1,8 @@
1
- import { afterUpdate, AT, C, CenterText, Dragger, F, KeyBinder, ParamGUI, S, ScaleableContainer, stime } from "@thegraid/easeljs-lib";
1
+ import { afterUpdate, AT, C, CenterText, Dragger, F, KeyBinder, NamedContainer, ParamGUI, S, ScaleableContainer, stime } from "@thegraid/easeljs-lib";
2
2
  import { Container, EventDispatcher, Graphics, Shape, Text } from "@thegraid/easeljs-module";
3
3
  import { EBC, PidChoice } from "./choosers";
4
- import { NamedContainer, TileEvent } from "./game-play";
4
+ import { TileEvent } from "./game-play";
5
5
  import { RecycleHex } from "./hex";
6
- import { Player } from "./player";
7
6
  import { PlayerPanel } from "./player-panel";
8
7
  import { CircleShape, HexShape, RectShape, UtilButton } from "./shapes";
9
8
  import { playerColor0, playerColor1, TP } from "./table-params";
@@ -15,7 +14,7 @@ class TablePlanner {
15
14
  class TextLog extends NamedContainer {
16
15
  size;
17
16
  lead;
18
- constructor(Aname, nlines = 6, size = 30, lead = 3) {
17
+ constructor(Aname, nlines = 6, size = TP.hexRad / 2, lead = 3) {
19
18
  super(Aname);
20
19
  this.size = size;
21
20
  this.lead = lead;
@@ -27,8 +26,8 @@ class TextLog extends NamedContainer {
27
26
  lines;
28
27
  lastLine = '';
29
28
  nReps = 0;
30
- height(n = this.lines.length) {
31
- return (this.size + this.lead) * n;
29
+ height(nLines = this.lines.length) {
30
+ return (this.size + this.lead) * nLines;
32
31
  }
33
32
  clear() {
34
33
  this.lines.forEach(tline => tline.text = '');
@@ -43,8 +42,9 @@ class TextLog extends NamedContainer {
43
42
  spaceLines(cy = 0, lead = this.lead) {
44
43
  this.lines.forEach(tline => (tline.y = cy, cy += tline.getMeasuredLineHeight() + lead));
45
44
  }
45
+ /** convert line to single-line; inc count if same line; insert & scroll up */
46
46
  log(line, from = '', toConsole = true) {
47
- line = line.replace('/\n/g', '-');
47
+ line = line.replace(/\n/g, '-');
48
48
  toConsole && console.log(stime(`${from}:`), line);
49
49
  if (line === this.lastLine) {
50
50
  this.lines[this.lines.length - 1].text = `[${++this.nReps}] ${line}`;
@@ -111,20 +111,28 @@ export class Table {
111
111
  this.bindKeys();
112
112
  }
113
113
  }
114
- /** shows the last 2 start of turn lines */
115
- turnLog = new TextLog('turnLog', 2);
114
+ /** shows the last TP.numPlayers start of turn lines */
115
+ turnLog = new TextLog('turnLog', TP.numPlayers);
116
116
  /** show [13] other interesting log strings */
117
117
  textLog = new TextLog('textLog', TP.textLogLines);
118
- logTurn(line) {
119
- this.turnLog.log(line, 'table.logTurn'); // in top two lines
120
- }
121
- logText(line, from = '') {
122
- const text = this.textLog.log(`${this.gamePlay.turnNumber}: ${line}`, from || '***'); // scrolling lines below
118
+ /** write '// ${turn}: ${line}' comment line to TextLog (& console) & logWriter */
119
+ logText(line, from = '', toConsole = true) {
120
+ const text = this.textLog.log(`${this.gamePlay.turnNumber}: ${line}`, from || '***', toConsole); // scrolling lines below
123
121
  this.gamePlay.logWriter.writeLine(`// ${text}`);
124
122
  // JSON string, instead of JSON5 comment:
125
123
  // const text = this.textLog.log(`${this.gamePlay.turnNumber}: ${line}`, from); // scrolling lines below
126
124
  // this.gamePlay.logWriter.writeLine(`"${line}",`);
127
125
  }
126
+ logCurPlayer(plyr) {
127
+ const tn = this.gamePlay.turnNumber;
128
+ const robo = plyr.useRobo ? AT.ansiText(['red', 'bold'], "robo") : "----";
129
+ const info = { turn: tn, gamePlay: this.gamePlay, curPlayer: plyr, plyr: plyr.Aname };
130
+ console.log(stime(this, `.logCurPlayer --${robo}--`), info);
131
+ this.logTurnPlayer(`//${tn}: ${plyr.Aname}`);
132
+ }
133
+ logTurnPlayer(line) {
134
+ this.turnLog.log(line, 'table.logTurn', false); // in top two lines
135
+ }
128
136
  setupUndoButtons(xOffs, bSize, skipRad, bgr, row = 8, col = -7) {
129
137
  const undoC = this.undoCont; // holds the undo buttons.
130
138
  this.setToRowCol(undoC, row, col);
@@ -338,7 +346,7 @@ export class Table {
338
346
  const parent = this.scaleCont;
339
347
  this.setToRowCol(this.turnLog, rowy, colx);
340
348
  this.setToRowCol(this.textLog, rowy, colx);
341
- this.textLog.y += this.turnLog.height(Player.allPlayers.length + 1); // allow room for 1 line per player
349
+ this.textLog.y += this.turnLog.height(TP.numPlayers + 1); // allow room for 1 line per player
342
350
  parent.addChild(this.turnLog, this.textLog);
343
351
  parent.stage.update();
344
352
  }
@@ -386,20 +394,19 @@ export class Table {
386
394
  */
387
395
  makeGUIs(scale = TP.hexRad / 60, cx = -200, cy = 250, dy = 20) {
388
396
  const scaleCont = this.scaleCont;
389
- let lmax = 0, ymax = 0;
390
- const align = (gui) => {
397
+ let wmax = 0, ymax = 0;
398
+ const guiWYmax = (gui) => {
391
399
  ymax += (gui.ymax + dy);
392
- lmax = Math.max(lmax, gui.children[0].getBounds().width);
400
+ wmax = Math.max(wmax, gui.children[0].getBounds().width);
401
+ return gui;
393
402
  };
394
403
  const guis = [this.makeNetworkGUI, this.makeParamGUI, this.makeParamGUI2].map(mgf => {
395
- const gui = this.gpanel(mgf, cx, cy + ymax, scale);
396
- align(gui);
397
- return gui;
404
+ return guiWYmax(this.gpanel(mgf, cx, cy + ymax, scale));
398
405
  });
406
+ guis.forEach(gui => gui.x -= wmax);
399
407
  scaleCont.addChild(...guis.reverse()); // lower y values ABOVE to dropdown is not obscured
400
- guis.forEach(gui => gui.x -= lmax);
401
408
  // TODO: dropdown to use given 'top' container!
402
- guis[0].stage.update();
409
+ scaleCont.stage.update();
403
410
  }
404
411
  get panelHeight() { return (2 * TP.nHexes - 1) / 3 - .2; }
405
412
  get panelOffset() { return TP.nHexes + 2; }
@@ -407,8 +414,12 @@ export class Table {
407
414
  * six panel locations [row, col, dir][].
408
415
  *
409
416
  * col==0 is on left edge of hexMap; The *center* hex is col == (nHexes-1)
417
+ * @example
418
+ * P0 --- P3
419
+ * P1 --C-- P4
420
+ * P2 --- P5
410
421
  */
411
- setPanelLocs() {
422
+ getPanelLocs() {
412
423
  const r0 = this.hexMap.centerHex.row, dr = this.panelHeight + .2;
413
424
  const cc = this.hexMap.centerHex.col, coff = this.panelOffset;
414
425
  const c0 = cc - coff, c1 = cc + coff;
@@ -418,18 +429,32 @@ export class Table {
418
429
  ];
419
430
  return locs;
420
431
  }
421
- /** select from setPanelLoc, based on pIndex from total np */
422
- panelLoc(pIndex, np = Math.min(Player.allPlayers.length, 6), locs = this.setPanelLocs()) {
423
- const seq = [[], [0], [0, 3], [0, 3, 1], [0, 3, 4, 1], [0, 3, 4, 2, 1], [0, 3, 4, 5, 2, 1]];
424
- const seqn = seq[np], ndx = seqn[Math.min(pIndex, np - 1)];
425
- return locs[ndx];
432
+ /**
433
+ * Which PanelLocs to use for a given number of Players
434
+ * @param np number of Players
435
+ * @returns array of indices into PanelLocs (one for each Player)
436
+ */
437
+ panelLocsForNp(np) {
438
+ return [[], [0], [0, 3], [0, 3, 1], [0, 3, 4, 1], [0, 3, 4, 2, 1], [0, 3, 4, 5, 2, 1]][np];
439
+ }
440
+ /** Panel location for the nth of nPlayers.
441
+ *
442
+ * @param pIndex Player index (0 .. nPlayers-1)
443
+ * @param nPlayers [allPlayers.length] total number of Players
444
+ * @param panelLocs [getPanelLocs] potential panel locations
445
+ * @return panelLocs[panelLocsForNp(nPlayers)][pIndex]
446
+ */
447
+ panelLoc(pIndex, nPlayers = Math.min(TP.numPlayers, 6), panelLocs = this.getPanelLocs()) {
448
+ const seqn = this.panelLocsForNp(nPlayers);
449
+ const ndx = seqn[Math.min(pIndex, nPlayers - 1)];
450
+ return panelLocs[ndx];
426
451
  }
427
452
  allPlayerPanels = [];
428
453
  /** make player panels, placed at panelLoc... */
429
454
  makePerPlayer() {
430
455
  this.allPlayerPanels.length = 0; // TODO: maybe deconstruct
431
456
  const high = this.panelHeight, wide = 4.5;
432
- const np = Math.min(Player.allPlayers.length, 6), locs = this.setPanelLocs();
457
+ const np = Math.min(TP.numPlayers, 6), locs = this.getPanelLocs();
433
458
  this.gamePlay.forEachPlayer((player, pIndex) => {
434
459
  const [row, col, dir] = this.panelLoc(pIndex, np, locs);
435
460
  this.allPlayerPanels[pIndex] = player.panel = new PlayerPanel(this, player, high, wide, row - high / 2, col - wide / 2, dir);
@@ -458,7 +483,7 @@ export class Table {
458
483
  hex.legalMark.setOnHex(hex);
459
484
  hex.cont.visible = false;
460
485
  }
461
- makeCircleButton(color = C.WHITE, rad = 20, c, fs = 30) {
486
+ makeCircleButton(color = C.WHITE, rad = TP.hexRad / 3, c, fs = rad * 3 / 2) {
462
487
  const button = new Container();
463
488
  button.name = 'circle';
464
489
  const shape = new CircleShape(color, rad, '');
@@ -472,7 +497,7 @@ export class Table {
472
497
  button.mouseEnabled = false;
473
498
  return button;
474
499
  }
475
- makeSquareButton(color = C.WHITE, xywh, c, fs = 30) {
500
+ makeSquareButton(color = C.WHITE, xywh, c, fs = TP.hexRad / 2) {
476
501
  const button = new Container();
477
502
  button.name = 'square';
478
503
  const shape = new RectShape(xywh, color, '');
@@ -579,24 +604,33 @@ export class Table {
579
604
  this.doneButton.visible = false;
580
605
  this.gamePlay.phaseDone(); // <--- main doneButton does not supply 'panel'
581
606
  };
582
- addDoneButton(actionCont, rh) {
583
- const w = 90, h = 56;
584
- const doneButton = this.doneButton = new UtilButton('lightgreen', 'Done', 36, C.black);
607
+ /**
608
+ * May be contained or placed with ActionSelection buttons.
609
+ * @param cont [scaleCont] a Container to hold the DoneButton
610
+ * @param cx [0] offset in Container (to 'center', 'left', 'right' per align)
611
+ * @param cy [0] offset in Container (to top of text box)
612
+ * @param align ['center'] left or right
613
+ * @returns actionCont
614
+ */
615
+ addDoneButton(cont = this.scaleCont, cx = 0, cy = 0, align = 'center') {
616
+ const doneButton = this.doneButton = new UtilButton('Done', 'lightgreen');
617
+ doneButton.disp.textAlign = align; // Note: baseline is still 'middle'
618
+ const { x, y, width: w, height: h } = doneButton.getBounds();
585
619
  doneButton.name = 'doneButton';
586
- doneButton.x = -(w);
587
- doneButton.y = 3 * rh;
588
- doneButton.label.textAlign = 'right';
620
+ doneButton.x = cx - 0; // XY is the top-right corner, align extends to left
621
+ doneButton.y = cy - y; // XY is the top-right corner, align extends to left
589
622
  doneButton.on(S.click, this.doneClicked, this);
590
- actionCont.addChild(doneButton);
591
- // prefix advice: set text color
623
+ cont.addChild(doneButton);
624
+ // prefix advice: set text color to contrast with RectShape color
625
+ // TODO: add as option to UtilButton
592
626
  const o_cgf = doneButton.rectShape.cgf;
593
627
  const cgf = (color) => {
594
- const tcolor = (C.dist(color, C.WHITE) < C.dist(color, C.black)) ? C.black : C.white;
595
- doneButton.label.color = tcolor;
596
- return o_cgf(color);
628
+ const tcolor = (C.dist(color, C.WHITE) < C.dist(color, C.BLACK)) ? C.black : C.white;
629
+ doneButton.disp.color = tcolor;
630
+ return o_cgf.call(doneButton.rectShape, color);
597
631
  };
598
632
  doneButton.rectShape.cgf = cgf; // invokes shape.paint(cgf) !!
599
- return actionCont;
633
+ return cont;
600
634
  }
601
635
  /** show player player score on table */
602
636
  setPlayerScore(plyr, score, rank) {
@@ -782,17 +816,11 @@ export class Table {
782
816
  startDragging(dragObj, xy = { x: 0, y: 0 }) {
783
817
  this.dragger.dragTarget(dragObj, xy);
784
818
  }
785
- logCurPlayer(plyr) {
786
- const tn = this.gamePlay.turnNumber;
787
- const robo = plyr.useRobo ? AT.ansiText(['red', 'bold'], "robo") : "----";
788
- const info = { turn: tn, plyr: plyr.Aname, gamePlay: this.gamePlay, curPlayer: plyr };
789
- console.log(stime(this, `.logCurPlayer --${robo}--`), info);
790
- this.logTurn(`//${tn}: ${plyr.Aname}`);
791
- }
792
819
  showRedoUndoCount() {
793
820
  this.undoText.text = `${this.gamePlay.undoRecs.length}`;
794
821
  this.redoText.text = `${this.gamePlay.redoMoves.length}`;
795
822
  }
823
+ /** log --> comment line to [console], TextLog, logWriter; showRedoUndoCount() */
796
824
  showNextPlayer(log = true) {
797
825
  let curPlayer = this.gamePlay.curPlayer; // after gamePlay.setNextPlayer()
798
826
  if (log)