@thegraid/hexlib 1.4.3 → 1.4.5

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.
@@ -43,7 +43,6 @@ export class GameSetup {
43
43
  this.qParams = qParams;
44
44
  this.logWriter = this.makeLogWriter();
45
45
  this.initialize(canvasId);
46
- this.loadImagesThenStartup(this.qParams);
47
46
  }
48
47
  static random_seed = '';
49
48
  get seed() { return GameSetup.random_seed; }
@@ -64,9 +63,18 @@ export class GameSetup {
64
63
  this.init_random(this.qParams.rand);
65
64
  this.stage = makeStage(canvasId, false);
66
65
  this.stage.snapToPixel = TP.snapToPixel;
66
+ this.setupNetwork(this.qParams);
67
67
  this.setupToParseState(); // restart when/if 'SetState' button is clicked
68
68
  this.setupToReadFileState(); // restart when/if 'LoadFile' button is clicked
69
69
  }
70
+ /** set TP.{ghost, gport, networkGroup, networkUrl} from qParams */
71
+ setupNetwork(qParams = this.qParams) {
72
+ const { host, port, title } = qParams;
73
+ TP.ghost = host || TP.ghost;
74
+ TP.gport = Number.parseInt(port || TP.gport.toString(10), 10);
75
+ TP.networkGroup = `${title}:game1`;
76
+ TP.networkUrl = TP.buildURL(undefined);
77
+ }
70
78
  /** Label browser page. Typically: nPlayer=n, scenario from file. */
71
79
  get pageLabel() {
72
80
  const { n, file } = this.qParams;
@@ -77,7 +85,7 @@ export class GameSetup {
77
85
  AliasLoader.loader.loadImages(() => this.startup(qParams));
78
86
  }
79
87
  makePlayer(ndx, gamePlay) {
80
- new Player(ndx, gamePlay);
88
+ return new Player(ndx, gamePlay);
81
89
  }
82
90
  /** set from qParams['n'] */
83
91
  nPlayers = 2;
@@ -108,9 +116,9 @@ export class GameSetup {
108
116
  const logWriter = new LogWriter(logTime_js, '[\n', ']\n'); // terminate array, but insert before terminal
109
117
  return logWriter;
110
118
  }
111
- restartable = false;
112
119
  /**
113
- * C-s ==> end game & deconstruct; startup a new one with given stateInfo
120
+ * C-s ==> end game & deconstruct; startScenario(this.startupScenario)
121
+ *
114
122
  * - allPlayers.endGame()
115
123
  * - deContainer(this.stage)
116
124
  * - zeroAllArrays()
@@ -122,14 +130,12 @@ export class GameSetup {
122
130
  // parseStateButton: restart({ parsed from JSON text element })
123
131
  // extractStateFromString: restart({ parsed from file@turn })
124
132
  restart(stateInfo) {
125
- if (!this.restartable)
126
- return; // ignore call from within makeGUI
127
- let netState = this.netState;
133
+ const netState = this.netState;
128
134
  // this.gamePlay.closeNetwork('restart') // See: hexcity [aka: CityMap, BoomTown], CgClient
129
135
  // this.gamePlay.logWriter?.closeFile() // maybe put in NetClient, vs GamePlay
130
136
  this.gamePlay.forEachPlayer(p => p.endGame());
131
137
  this.gamePlay.allTiles.forEach(tile => tile.hex = undefined);
132
- let deContainer = (cont) => {
138
+ const deContainer = (cont) => {
133
139
  cont.children.forEach(dObj => {
134
140
  dObj.removeAllEventListeners();
135
141
  if (dObj instanceof Container)
@@ -139,7 +145,8 @@ export class GameSetup {
139
145
  };
140
146
  deContainer(this.stage);
141
147
  this.zeroAllArrays();
142
- this.startup(stateInfo); // was in resetState() but this makes more sense.
148
+ this.resetState(stateInfo); // stateInfo may have {nh?, mh?, hexRad?} from ParamGUI
149
+ this.startScenario(stateInfo); // was in resetState() but this makes more sense.
143
150
  // next tick, new thread...
144
151
  setTimeout(() => this.netState = netState, 100); // onChange-> ('new', 'join', 'ref') initiate a new connection
145
152
  }
@@ -147,18 +154,23 @@ export class GameSetup {
147
154
  * zero gamePlay.allTile/Meeples/Players/etc for deconstruction.
148
155
  *
149
156
  * Not essential, this.gamePlay will be dropped/replaced in startup().
157
+ *
158
+ * @param clearLog [true] false to retain backlog (someday: allLog!)
150
159
  */
151
- zeroAllArrays() {
160
+ zeroAllArrays(clearLog = true) {
152
161
  this.gamePlay.allTiles.length = 0;
153
162
  this.gamePlay.allMeeples.length = 0;
154
163
  this.gamePlay.allPlayers.length = 0;
155
164
  // include logWriter here, for easier override
156
- this.logWriter.backlog.length = 0; // flush the backlog (assume file is closed)
165
+ if (clearLog && this.logWriter)
166
+ this.logWriter.backlog.length = 0; // flush the backlog (assume file is closed)
157
167
  }
158
168
  /**
159
169
  * set TableParams from HexAspect of ParamGUI
160
170
  *
161
- * could override to edit any Scenario bits before startup() --> startScenario(scenario)
171
+ * originally from hexmarket: find consistent set from mh, nh, dbp, etc.
172
+ *
173
+ * could override to edit any Scenario bits before restart() --> startScenario(scenario)
162
174
  * @param stateInfo (HexAspect mostly?)
163
175
  */
164
176
  resetState(stateInfo) {
@@ -190,13 +202,24 @@ export class GameSetup {
190
202
  * @param restart [(s) => this.restart(s)] process the Scenario
191
203
  */
192
204
  parseStateTextAndRestart(stateText, restart = (setupElt) => this.restart(setupElt)) {
193
- // JSON5 barfs on trailing ','
194
- if (!stateText)
195
- stateText = document.getElementById('parseStateText').value.replace(/,$/, '');
196
- console.log(stime(this, `.parseStateTextAndRestart`), stateText);
197
- const setupElt = JSON5.parse(stateText);
198
- setupElt.Aname = setupElt.Aname ?? `parseStateText`;
199
- restart(setupElt);
205
+ if (!stateText) {
206
+ stateText = document.getElementById('parseStateText').value;
207
+ }
208
+ stateText = stateText.replace(/,$/, ''); // JSON5 barfs on trailing ','
209
+ console.log(stime(this, `.parseStateTextAndRestart: '${stateText}'`));
210
+ if (stateText) {
211
+ try {
212
+ const setupElt = JSON5.parse(stateText + ' ');
213
+ setupElt.Aname = setupElt.Aname ?? `parseStateText`;
214
+ restart(setupElt);
215
+ }
216
+ catch (err) {
217
+ console.log(stime(this, `.parseStateAndRestart:`), err);
218
+ }
219
+ }
220
+ else {
221
+ console.log(stime(this, `.parseStateAndRestart: no stateText`));
222
+ }
200
223
  }
201
224
  fileReadPromise;
202
225
  async setupToReadFileState() {
@@ -222,7 +245,7 @@ export class GameSetup {
222
245
  * @returns stateInfo suitable for restart(stateInfo)
223
246
  */
224
247
  extractStateFromLogText(logText, fileName, turn) {
225
- const logArray = JSON5.parse(logText);
248
+ const logArray = JSON5.parse(logText + ' ');
226
249
  const [, ...stateArray] = logArray;
227
250
  const state = stateArray.find(state => state.turn === turn) ?? {};
228
251
  state.Aname = `${fileName}@${turn}`;
@@ -283,70 +306,78 @@ export class GameSetup {
283
306
  return { Aname: 'defaultScenario', n, ...qParams, turn: 0, };
284
307
  }
285
308
  makeGamePlay(startElt) {
286
- return new GamePlay(this, startElt);
309
+ return new GamePlay(this, startElt); // you may want: return Tile.gamePlay = new GamePlay(...)
287
310
  }
288
311
  /**
289
- * Make new Table/layout & gamePlay/hexMap & Players.
312
+ * invoke startScenario(StartElt)
290
313
  *
291
- * - resetState(scenario)
292
- * - initialScenario(this.qParams)
293
- * -
314
+ * From constructor() --> loadImagesThenStartup() --> startup()
294
315
  *
295
- * - getNPlayers()
296
- * - makeHexMap()
297
- * - makeTable()
298
- * - makeGamePlay(scenario)
316
+ * - this.startScenario = initialScenario(this.qParams)
299
317
  * - startScenario(scenario)
300
318
  *
301
319
  * @param scenario [initialScenario(this.qParams), qParams as obtained from URL]
302
320
  */
303
- // loadImagesThenStartup-->startup(qParams); initially
304
- // restart(?) --> startup(Param | Scenario); incrementally
321
+ // loadImagesThenStartup --> startup(qParams); initially
322
+ // parseStateAndRestart(?) --> startScenario(Scenario); incrementally
305
323
  startup(qParams) {
306
324
  // initialScenario produces a StartupElt from qParams (which could be a SetupElt)
307
325
  const startElt = this.initialScenario(qParams);
308
- // qParams may have {nh?, mh?, hexRad?} from ParamGUI
309
- this.resetState(startElt); // <-- inject/edit necessary elements: nGods, godNames,...
310
326
  this.startupScenario = startElt; // retain for future reference
311
- this.nPlayers = this.getNPlayers(); // Scenario may override?
312
- this.hexMap = this.makeHexMap(); // then copied from gameSetup -> gamePlay
313
- this.table = this.makeTable();
314
- // Inject Table into GamePlay;
315
- // GameState, mouse/keyboard->GamePlay,
316
- this.gamePlay = this.makeGamePlay(startElt); // scenario provided... maybe not used
317
327
  this.startScenario(startElt);
318
328
  }
319
- /** the scenario last used by start(scenario) */
329
+ /** the scenario last used by startup(scenario) */
320
330
  startupScenario;
321
331
  /**
322
- * Given hexMap, table, and gamePlay, setup/layout everything for the game scenario.
332
+ * Make new Table/layout & gamePlay/hexMap & Players.
323
333
  *
324
- * - gamePlay = this.gamePlay
334
+ * Make hexMap, table, and gamePlay;
335
+ * Setup/layout everything for the game scenario.
336
+ *
337
+ * - getNPlayers()
338
+ * - makeHexMap()
339
+ * - makeTable()
340
+ * - makeGamePlay(scenario)
341
+ * -
325
342
  * - makeAllPlayers(gamePlay)
326
343
  * - layoutTable(gamePlay)
327
344
  * - gamePlay.turnNumber = -1
345
+ * -
328
346
  * - parseScenario(scenario) // scenario.turn set on a FULL/SAVED scenario
329
347
  * - forEachPlayer(p.newGame(gamePlay))
330
- * - with (restartable = false) table.makeGUIs() QQQQ: keep in GameSetup ?
331
- * - table.startGame(scenario)
348
+ * - startGame()
332
349
  */
333
350
  startScenario(scenario) {
334
- const gamePlay = this.gamePlay; // many invocations
351
+ this.nPlayers = this.getNPlayers(); // Scenario may override?
352
+ this.hexMap = this.makeHexMap(); // then copied from gameSetup -> gamePlay
353
+ this.table = this.makeTable();
354
+ // GameState, mouse/keyboard->GamePlay,
355
+ const gamePlay = this.gamePlay = this.makeGamePlay(scenario); // scenario provided... maybe not used
335
356
  this.makeAllPlayers(gamePlay); // Players have: civics & meeples & TownSpec
336
357
  // Inject GamePlay to Table; all the GUI components, makeAllDistricts(), addTerrain, initialRegions
337
- this.table.layoutTable(gamePlay); // mutual injection & make all panelForPlayer
338
- gamePlay.turnNumber = -1; // in prep for setNextPlayer or parseScenario
358
+ this.layoutTable(gamePlay); // mutual injection & make all panelForPlayer
339
359
  // Place Tiles and Meeple on HexMap, set GameState.
340
360
  gamePlay.parseScenario(scenario); // may change gamePlay.turnNumber, gamePlay.phase (& conflictRegion)
361
+ this.makeGUIs(); // reflect settings from scenario. QQQ: is this the right place?
341
362
  gamePlay.logWriterLine0();
342
363
  gamePlay.forEachPlayer(p => p.newGame(gamePlay)); // make Planner *after* table & gamePlay are setup
343
- {
344
- this.restartable = false; // block makeGUIs from reentrant restart()
345
- this.table.makeGUIs();
346
- this.restartable = true; // *after* makeLines has stablilized selectValue
347
- }
348
- this.table.startGame(); // enable GUI & setNextPlayer()
364
+ this.startGame();
349
365
  return gamePlay;
350
366
  }
367
+ /** table.makeGUIs() */
368
+ makeGUIs() {
369
+ this.table.makeGUIs();
370
+ }
371
+ /** table.layoutTable(gamePlay) */
372
+ layoutTable(gamePlay) {
373
+ this.table.layoutTable(gamePlay);
374
+ }
375
+ /** table.startGame(); gamePlay.start(); */
376
+ startGame() {
377
+ this.table.startGame(); // enable GUI & setNextPlayer()
378
+ const gamePlay = this.gamePlay; // tn<0 marked 'preGame'; may be obsolete
379
+ gamePlay.setNextPlayer(gamePlay.turnNumber > 0 ? gamePlay.turnNumber : 0);
380
+ gamePlay.gameState.start();
381
+ }
351
382
  }
352
383
  //# sourceMappingURL=game-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-setup.js","sourceRoot":"","sources":["../src/game-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-setup.js","sourceRoot":"","sources":["../src/game-setup.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GamePlay } from "./game-play";
1
+ import type { GamePlay0 } from "./game-play";
2
2
  export interface Phase {
3
3
  Aname?: string;
4
4
  start(...args: any[]): void;
@@ -7,9 +7,9 @@ export interface Phase {
7
7
  nextPhase?: string;
8
8
  }
9
9
  export declare class GameState {
10
- gamePlay: GamePlay;
10
+ gamePlay: GamePlay0;
11
11
  /** created by new GamePlay(); initialized/injected into gamePlay.gameState. */
12
- constructor(gamePlay: GamePlay, states?: Record<string, Phase>, purge?: boolean | string[]);
12
+ constructor(gamePlay: GamePlay0, states?: Record<string, Phase>, purge?: boolean | string[]);
13
13
  defineStates(states?: {
14
14
  [index: string]: Phase;
15
15
  }, purge?: boolean | string[]): void;
@@ -17,15 +17,15 @@ export declare class GameState {
17
17
  * The current state: a Phase identified by Aname, with a start() function.
18
18
  */
19
19
  state: Phase;
20
- get table(): import("./table").Table;
20
+ get table(): import("./table").Table | undefined;
21
21
  get curPlayer(): import("./player").Player;
22
22
  /** create gameState component of ScenarioParser.SetupElt */
23
23
  saveState(): any[];
24
24
  parseState(args: any[]): void;
25
25
  startPhase: string;
26
- startArgs: never[];
26
+ startArgs: any[];
27
27
  /** Bootstrap the Scenario: this.phase(startPhase, ...startArgs). */
28
- start(): void;
28
+ start(startPhase?: string, startArgs?: any[]): void;
29
29
  /** set state and state.start() with given args. */
30
30
  phase(phase: string, ...args: any[]): void;
31
31
  /** true if currently in the named state */
@@ -1 +1 @@
1
- {"version":3,"file":"game-state.d.ts","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IAGD,QAAQ,EAAE,QAAQ;IADrC,+EAA+E;gBAC5D,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAC,KAAK,CAAC,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,EAAU;IAGvG,YAAY,CAAC,MAAM;;KAAc,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,EAAU;IASpE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,KAAK,4BAAmC;IAC5C,IAAI,SAAS,8BAAsC;IAGnD,4DAA4D;IAC5D,SAAS,IAAI,GAAG,EAAE;IAIlB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;IAGtB,UAAU,SAAe;IACzB,SAAS,UAAM;IACf,oEAAoE;IACpE,KAAK;IAIL,mDAAmD;IACnD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAOnC,2CAA2C;IAC3C,OAAO,CAAC,IAAI,EAAE,MAAM;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAuB,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI;IAUhF,+EAA+E;IAC/E,SAAS,SAAe;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAOnB,UAAU;IAMV,QAAQ,CAAC,MAAM,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CA2CzC;CAEH"}
1
+ {"version":3,"file":"game-state.d.ts","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IAGD,QAAQ,EAAE,SAAS;IADtC,+EAA+E;gBAC5D,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAC,KAAK,CAAC,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,EAAU;IAGxG,YAAY,CAAC,MAAM;;KAAc,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,EAAU;IASpE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,KAAK,wCAAkC;IAC3C,IAAI,SAAS,8BAAsC;IAGnD,4DAA4D;IAC5D,SAAS,IAAI,GAAG,EAAE;IAIlB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;IAGtB,UAAU,SAAe;IACzB,SAAS,EAAE,GAAG,EAAE,CAAM;IACtB,oEAAoE;IACpE,KAAK,CAAC,UAAU,SAAkB,EAAE,SAAS,QAAiB;IAM9D,mDAAmD;IACnD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAOnC,2CAA2C;IAC3C,OAAO,CAAC,IAAI,EAAE,MAAM;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAuB,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI;IAUhF,+EAA+E;IAC/E,SAAS,SAAe;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAOnB,UAAU;IAMV,QAAQ,CAAC,MAAM,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CA2CzC;CAEH"}
@@ -1,4 +1,5 @@
1
1
  import { stime } from "@thegraid/common-lib";
2
+ // import { json } from "./functions";
2
3
  import { afterUpdate } from "@thegraid/easeljs-lib";
3
4
  export class GameState {
4
5
  gamePlay;
@@ -19,7 +20,7 @@ export class GameState {
19
20
  * The current state: a Phase identified by Aname, with a start() function.
20
21
  */
21
22
  state;
22
- get table() { return this.gamePlay?.table; }
23
+ get table() { return this.gamePlay.table; }
23
24
  get curPlayer() { return this.gamePlay.curPlayer; }
24
25
  // [eventName, eventSpecial, phase, args]
25
26
  /** create gameState component of ScenarioParser.SetupElt */
@@ -31,18 +32,20 @@ export class GameState {
31
32
  startPhase = 'BeginTurn';
32
33
  startArgs = [];
33
34
  /** Bootstrap the Scenario: this.phase(startPhase, ...startArgs). */
34
- start() {
35
- this.phase(this.startPhase, ...this.startArgs);
35
+ start(startPhase = this.startPhase, startArgs = this.startArgs) {
36
+ this.startPhase = startPhase;
37
+ this.startArgs = startArgs;
38
+ this.phase(startPhase, ...startArgs);
36
39
  }
37
40
  /** set state and state.start() with given args. */
38
41
  phase(phase, ...args) {
39
- console.log(stime(this, `.phase: ${this.state?.Aname ?? 'Initialize'} -> ${phase}`));
42
+ console.log(stime(this, `.phase: ${this.state?.Aname ?? 'Initialize'} -> ${phase}`), args);
40
43
  const state = this.state = this.states[phase];
41
44
  if (!state) {
42
45
  alert(`no state named ${phase}`);
43
46
  debugger;
44
47
  }
45
- state.start(...args);
48
+ setTimeout(() => state.start(...args), 0);
46
49
  }
47
50
  /** true if currently in the named state */
48
51
  isPhase(name) { return this.state === this.states[name]; }
@@ -53,7 +56,7 @@ export class GameState {
53
56
  * @param afterPopup continuation after stage.update()
54
57
  */
55
58
  doneButton(label, color = this.curPlayer.color, afterPopup) {
56
- const doneButton = this.table.doneButton;
59
+ const doneButton = this.table?.doneButton;
57
60
  if (!doneButton)
58
61
  return;
59
62
  doneButton.visible = !!label;
@@ -1 +1 @@
1
- {"version":3,"file":"game-state.js","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAWpD,MAAM,OAAO,SAAS;IAGD;IADnB,+EAA+E;IAC/E,YAAmB,QAAkB,EAAE,MAA6B,EAAE,QAA4B,KAAK;QAApF,aAAQ,GAAR,QAAQ,CAAU;QACnC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAA4B,KAAK;QAClE,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAQ;IACb,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnD,yCAAyC;IACzC,4DAA4D;IAC5D,SAAS;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,UAAU,CAAC,IAAW;IAEtB,CAAC;IACD,UAAU,GAAG,WAAW,CAAC;IACzB,SAAS,GAAG,EAAE,CAAC;IACf,oEAAoE;IACpE,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,KAAa,EAAE,GAAG,IAAW;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,YAAY,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;YAAC,QAAQ,CAAC;SAAE;QAC3D,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,OAAO,CAAC,IAAY,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElE;;;;;OAKG;IACH,UAAU,CAAC,KAAc,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAuB;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;QAC7B,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;QAC9B,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9B,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,+EAA+E;IAC/E,SAAS,GAAG,WAAW,CAAC;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;SACzB;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB;SACzD;IACH,CAAC;IACD,UAAU;QACR,sCAAsC;QACtC,uBAAuB;QACvB,gCAAgC;IAClC,CAAC;IAEQ,MAAM,GAA+B;QAC5C,SAAS,EAAE;YACT,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,CAAC;SACF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;YAExC,CAAC;YACD,IAAI,EAAE,CAAC,EAAY,EAAE,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,EAAE,CAAC,EAAY,EAAE,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzB,CAAC;SACF;QACD,SAAS,EAAE;YACT,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAK,sBAAsB;YACnD,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,qBAAqB;YACpE,CAAC;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;SACF;KACF,CAAC;CAEH"}
1
+ {"version":3,"file":"game-state.js","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"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"}
package/dist/player.d.ts CHANGED
@@ -8,17 +8,23 @@ import { MapTile, Tile } from "./tile";
8
8
  export declare class Player {
9
9
  readonly index: number;
10
10
  readonly gamePlay: GamePlay;
11
+ /** Record<canonical name, HTML color string> */
11
12
  static colorScheme: Record<string, string>;
12
13
  /**
13
- * Can use canonical color name, is mapped to arbitrary HTML color.
14
- * @param ndx number or (keyof typeof Player.colorScheme)
15
- * @returns colorScheme[ndx]
14
+ * Given canonical name (or numerical ndx), map to arbitrary HTML color.
15
+ * @param cname number or (keyof typeof Player.colorScheme)
16
+ * @returns colorScheme[ndx] as HTML color string
16
17
  */
17
- static playerColor(ndx: number | string): string;
18
+ static playerColor(cname: number | keyof typeof Player.colorScheme): string;
19
+ /** invert from HTML color to find canonical cname */
18
20
  static colorName(color: string): string | undefined;
19
21
  readonly Aname: string;
20
22
  constructor(index: number, gamePlay: GamePlay);
23
+ /** action at end of Player.constructor() */
24
+ static logNewPlayer: (plyr: Player) => any;
25
+ get cname(): string | undefined;
21
26
  _color: string;
27
+ /** HTML color string */
22
28
  get color(): string;
23
29
  set color(c: string);
24
30
  /** now used as 'nominal' in log to identify player, never used as a COLOR */
@@ -43,7 +49,7 @@ export declare class Player {
43
49
  /** if true then invoke plannerMove */
44
50
  useRobo: boolean;
45
51
  readonly startDir: HexDir;
46
- /** make Civics, Leaders & Police; also makeLeaderHex() */
52
+ /** make coinCounter, or whatever... */
47
53
  makePlayerBits(): void;
48
54
  endGame(): void;
49
55
  static remotePlayer: number;
@@ -1 +1 @@
1
- {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAG,MAAM,QAAQ,CAAC;AAExC,qBAAa,MAAM;IAkBf,QAAQ,CAAC,KAAK,EAAE,MAAM;aACN,QAAQ,EAAE,QAAQ;IAjBpC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAsG;IAChJ;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIvC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EACN,QAAQ,EAAE,QAAQ;IAUpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAsB;IACzC,6EAA6E;IAC7E,IAAI,MAAM,IAAI,MAAM,CAAgC;IAIpD,6CAA6C;IAC7C,KAAK,EAAE,WAAW,CAAC;IAEnB,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,IAAI,QAAQ,cAA8C;IAE1D,IAAI,OAAO,gCAA0E;IAErF,MAAM,EAAE,MAAM,CAAK;IACnB,IAAI,KAAK,IACQ,MAAM,CADW;IAClC,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAGD,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,KAAK,IACI,MAAM,CAD4B;IAC/C,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAuC;IAE1D,4DAA4D;IAC5D,IAAI,WAAW,WAAsD;IACrE,SAAS,CAAC,GAAG,SAAI;IAEjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAS;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,0DAA0D;IAC1D,cAAc;IAId,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,YAAY,SAAI;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAgB;IAQ/C,OAAO;IAMP,QAAQ;IAGR,mEAAmE,CACnE,UAAU,CAAC,OAAO,UAAe,EAAE,IAAI,SAAI;IAY3C,cAAc,UAAQ;IACtB,WAAW,CAAC,IAAI,SAAI;CAUrB"}
1
+ {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAG,MAAM,QAAQ,CAAC;AAExC,qBAAa,MAAM;IAoBf,QAAQ,CAAC,KAAK,EAAE,MAAM;aACN,QAAQ,EAAE,QAAQ;IAnBpC,iDAAiD;IACjD,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAsG;IAChJ;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,OAAO,MAAM,CAAC,WAAW;IAIlE,qDAAqD;IACrD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EACN,QAAQ,EAAE,QAAQ;IAQpC,4CAA4C;IAC5C,MAAM,CAAC,YAAY,SAAU,MAAM,KAAG,GAAG,CAEvC;IAEF,IAAI,KAAK,uBAA0C;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAsB;IACzC,6EAA6E;IAC7E,IAAI,MAAM,IAAI,MAAM,CAAgC;IAIpD,6CAA6C;IAC7C,KAAK,EAAE,WAAW,CAAC;IAEnB,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,IAAI,QAAQ,cAA8C;IAE1D,IAAI,OAAO,gCAA0E;IAErF,MAAM,EAAE,MAAM,CAAK;IACnB,IAAI,KAAK,IACQ,MAAM,CADW;IAClC,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAGD,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,KAAK,IACI,MAAM,CAD4B;IAC/C,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAuC;IAE1D,4DAA4D;IAC5D,IAAI,WAAW,WAAsD;IACrE,SAAS,CAAC,GAAG,SAAI;IAEjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAS;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,uCAAuC;IACvC,cAAc;IAId,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,YAAY,SAAI;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAgB;IAQ/C,OAAO;IAMP,QAAQ;IAGR,mEAAmE,CACnE,UAAU,CAAC,OAAO,UAAe,EAAE,IAAI,SAAI;IAY3C,cAAc,UAAQ;IACtB,WAAW,CAAC,IAAI,SAAI;CAUrB"}
package/dist/player.js CHANGED
@@ -6,17 +6,19 @@ export class Player {
6
6
  index;
7
7
  gamePlay;
8
8
  // PlayerLib uses type string, client can make a restricted type
9
+ /** Record<canonical name, HTML color string> */
9
10
  static colorScheme = { red: 'Red', blue: 'Blue', green: 'darkgreen', violet: 'Violet', gold: 'gold', purple: 'purple' };
10
11
  /**
11
- * Can use canonical color name, is mapped to arbitrary HTML color.
12
- * @param ndx number or (keyof typeof Player.colorScheme)
13
- * @returns colorScheme[ndx]
12
+ * Given canonical name (or numerical ndx), map to arbitrary HTML color.
13
+ * @param cname number or (keyof typeof Player.colorScheme)
14
+ * @returns colorScheme[ndx] as HTML color string
14
15
  */
15
- static playerColor(ndx) {
16
- if (typeof ndx === 'number')
17
- ndx = Object.keys(Player.colorScheme)[ndx];
18
- return Player.colorScheme[ndx];
16
+ static playerColor(cname) {
17
+ if (typeof cname === 'number')
18
+ cname = Object.keys(Player.colorScheme)[cname];
19
+ return Player.colorScheme[cname];
19
20
  }
21
+ /** invert from HTML color to find canonical cname */
20
22
  static colorName(color) {
21
23
  return Object.keys(Player.colorScheme).find(k => Player.playerColor(k) === color);
22
24
  }
@@ -27,11 +29,16 @@ export class Player {
27
29
  gamePlay.allPlayers[index] = this;
28
30
  TP.numPlayers = gamePlay.allPlayers.length; // incrementing up to gamePlay.nPlayers
29
31
  this.color = Player.playerColor(index);
30
- const cname = Player.colorName(this.color);
31
- this.Aname = `P${index}:${cname}`;
32
- console.log(stime(this, `.new:`), this.Aname);
32
+ this.Aname = `P${index}:${this.cname}`;
33
+ Player.logNewPlayer && Player.logNewPlayer(this);
33
34
  }
35
+ /** action at end of Player.constructor() */
36
+ static logNewPlayer = (plyr) => {
37
+ console.log(stime(plyr, `.new:`), plyr.Aname);
38
+ };
39
+ get cname() { return Player.colorName(this.color); }
34
40
  _color;
41
+ /** HTML color string */
35
42
  get color() { return this._color; }
36
43
  set color(c) { this._color = c; }
37
44
  /** now used as 'nominal' in log to identify player, never used as a COLOR */
@@ -63,7 +70,7 @@ export class Player {
63
70
  /** if true then invoke plannerMove */
64
71
  useRobo = false;
65
72
  startDir;
66
- /** make Civics, Leaders & Police; also makeLeaderHex() */
73
+ /** make coinCounter, or whatever... */
67
74
  makePlayerBits() {
68
75
  this.coinCounter = new NumCounter('coins', 0);
69
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GamePlay } from "./game-play";
1
+ import type { GamePlay0 } from "./game-play";
2
2
  import { Hex, HexMap, IHex2 } from "./hex";
3
3
  import type { LogWriter } from "./stream-writer";
4
4
  export interface SetupElt {
@@ -23,8 +23,8 @@ export type StartElt = {
23
23
  };
24
24
  export declare class ScenarioParser {
25
25
  map: HexMap<Hex>;
26
- gamePlay: GamePlay;
27
- constructor(map: HexMap<Hex>, gamePlay: GamePlay);
26
+ gamePlay: GamePlay0;
27
+ constructor(map: HexMap<Hex>, gamePlay: GamePlay0);
28
28
  /**
29
29
  * parse JSON to recreate all the needed bits (see Ankh.parseScenario).
30
30
  *
@@ -37,9 +37,9 @@ export declare class ScenarioParser {
37
37
  addStateElements(setupElt: SetupElt): SetupElt;
38
38
  parseStateElements(setupElt: SetupElt): void;
39
39
  /** override/replace to create a SetupElt and logState(logWriter) */
40
- saveState(gamePlay?: GamePlay, logWriter?: LogWriter | false): SetupElt;
40
+ saveState(gamePlay?: GamePlay0, logWriter?: LogWriter | false): SetupElt;
41
41
  /** write each component of SetupElt on a line, wrapped between '{' ... '\n}' */
42
- logState(state: SetupElt, logWriter?: LogWriter): void;
42
+ logState(state: SetupElt, logWriter?: LogWriter | undefined): string;
43
43
  /** debug utility: list legal hexes; click to toggle */
44
44
  identCells(map: HexMap<IHex2>): void;
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-parser.d.ts","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AACD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AAG3D,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAA;AAGD,qBAAa,cAAc;IAEN,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;IAAS,QAAQ,EAAE,QAAQ;gBAA3C,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAS,QAAQ,EAAE,QAAQ;IAI9D;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,QAAQ;IAe7B,sDAAsD;IACtD,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAMnC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ;IAQrC,oEAAoE;IACpE,SAAS,CAAC,QAAQ,WAAgB,EAAE,SAAS,GAAE,SAAS,GAAG,KAA0B,GAAG,QAAQ;IAQhG,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,YAA0B;IAU7D,uDAAuD;IACvD,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;CAe9B"}
1
+ {"version":3,"file":"scenario-parser.d.ts","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AACD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AAG3D,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAA;AAGD,qBAAa,cAAc;IAEN,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;IAAS,QAAQ,EAAE,SAAS;gBAA5C,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAS,QAAQ,EAAE,SAAS;IAI/D;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,QAAQ;IAe7B,sDAAsD;IACtD,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAMnC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ;IAQrC,oEAAoE;IACpE,SAAS,CAAC,QAAQ,YAAgB,EAAE,SAAS,GAAE,SAAS,GAAG,KAAmC,GAAG,QAAQ;IAQzG,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,wBAA0B;IAW7D,uDAAuD;IACvD,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;CAe9B"}
@@ -24,7 +24,7 @@ export class ScenarioParser {
24
24
  const turnSet = (turn !== undefined); // indicates a Saved Scenario: assign & place everything
25
25
  if (turnSet) {
26
26
  gamePlay.turnNumber = turn;
27
- table.logText(`turn = ${turn}`, `parseScenario`);
27
+ table?.logText(`turn = ${turn}`, `parseScenario`);
28
28
  this.gamePlay.allTiles.forEach(tile => tile.hex?.isOnMap ? tile.sendHome() : undefined); // clear existing map
29
29
  }
30
30
  this.gamePlay.hexMap.update();
@@ -43,7 +43,7 @@ export class ScenarioParser {
43
43
  }
44
44
  }
45
45
  /** override/replace to create a SetupElt and logState(logWriter) */
46
- saveState(gamePlay = this.gamePlay, logWriter = gamePlay.logWriter) {
46
+ saveState(gamePlay = this.gamePlay, logWriter = gamePlay.logWriter ?? false) {
47
47
  const turn = Math.max(0, gamePlay.turnNumber);
48
48
  const time = stime.fs();
49
49
  const setupElt = this.addStateElements({ turn, time, });
@@ -59,7 +59,8 @@ export class ScenarioParser {
59
59
  lines = `${lines}\n ${key}: ${line}${ndx < n ? ',' : ''}`;
60
60
  });
61
61
  lines = `${lines}\n},`;
62
- logWriter.writeLine(lines);
62
+ logWriter?.writeLine(lines);
63
+ return lines;
63
64
  }
64
65
  /** debug utility: list legal hexes; click to toggle */
65
66
  identCells(map) {