@gamepark/rules-api 6.24.2 → 6.25.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/Action.d.ts +7 -0
- package/dist/Bot.d.ts +21 -0
- package/dist/Bot.js +18 -2
- package/dist/Bot.js.map +1 -1
- package/dist/Competitive.d.ts +45 -0
- package/dist/Competitive.js +15 -0
- package/dist/Competitive.js.map +1 -1
- package/dist/Eliminations.d.ts +17 -0
- package/dist/Eliminations.js +5 -0
- package/dist/Eliminations.js.map +1 -1
- package/dist/GameSetup.d.ts +14 -0
- package/dist/HiddenInformation.d.ts +22 -0
- package/dist/HiddenInformation.js +5 -0
- package/dist/HiddenInformation.js.map +1 -1
- package/dist/LocalMovePreview.d.ts +14 -0
- package/dist/LocalMovePreview.js +5 -0
- package/dist/LocalMovePreview.js.map +1 -1
- package/dist/RandomMove.d.ts +20 -2
- package/dist/Rules.d.ts +119 -0
- package/dist/Rules.js +102 -1
- package/dist/Rules.js.map +1 -1
- package/dist/SecretInformation.d.ts +39 -0
- package/dist/SecretInformation.js +5 -0
- package/dist/SecretInformation.js.map +1 -1
- package/dist/TimeLimit.d.ts +22 -0
- package/dist/TimeLimit.js +5 -0
- package/dist/TimeLimit.js.map +1 -1
- package/dist/Undo.d.ts +18 -0
- package/dist/Undo.js +6 -0
- package/dist/Undo.js.map +1 -1
- package/dist/UnpredictableMove.d.ts +19 -0
- package/dist/UnpredictableMove.js +5 -0
- package/dist/UnpredictableMove.js.map +1 -1
- package/dist/material/HiddenMaterialRules.d.ts +49 -1
- package/dist/material/HiddenMaterialRules.js +56 -13
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGame.d.ts +12 -0
- package/dist/material/MaterialGameSetup.d.ts +74 -0
- package/dist/material/MaterialGameSetup.js +68 -5
- package/dist/material/MaterialGameSetup.js.map +1 -1
- package/dist/material/MaterialRules.d.ts +133 -1
- package/dist/material/MaterialRules.js +131 -5
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.d.ts +31 -0
- package/dist/material/SecretMaterialRules.js +23 -1
- package/dist/material/SecretMaterialRules.js.map +1 -1
- package/dist/material/items/Material.d.ts +265 -5
- package/dist/material/items/Material.js +266 -7
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialDeck.d.ts +34 -1
- package/dist/material/items/MaterialDeck.js +36 -3
- package/dist/material/items/MaterialDeck.js.map +1 -1
- package/dist/material/items/MaterialItem.d.ts +12 -0
- package/dist/material/items/MaterialMoney.d.ts +81 -0
- package/dist/material/items/MaterialMoney.js +288 -0
- package/dist/material/items/MaterialMoney.js.map +1 -0
- package/dist/material/items/MaterialMutator.d.ts +39 -0
- package/dist/material/items/MaterialMutator.js +44 -5
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/items/index.d.ts +2 -1
- package/dist/material/items/index.js +3 -1
- package/dist/material/items/index.js.map +1 -1
- package/dist/material/location/Location.d.ts +28 -0
- package/dist/material/location/Location.js +5 -0
- package/dist/material/location/Location.js.map +1 -1
- package/dist/material/location/LocationBuilder.js +1 -1
- package/dist/material/location/strategy/FillGapStrategy.d.ts +4 -0
- package/dist/material/location/strategy/FillGapStrategy.js +5 -1
- package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
- package/dist/material/location/strategy/LocationStrategy.d.ts +20 -0
- package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +4 -0
- package/dist/material/location/strategy/PositiveSequenceStrategy.js +5 -1
- package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
- package/dist/material/memory/GameMemory.d.ts +21 -0
- package/dist/material/memory/GameMemory.js +22 -1
- package/dist/material/memory/GameMemory.js.map +1 -1
- package/dist/material/memory/PlayerMemory.d.ts +22 -0
- package/dist/material/memory/PlayerMemory.js +23 -1
- package/dist/material/memory/PlayerMemory.js.map +1 -1
- package/dist/material/moves/CustomMove.d.ts +18 -0
- package/dist/material/moves/CustomMove.js +13 -0
- package/dist/material/moves/CustomMove.js.map +1 -1
- package/dist/material/moves/MaterialMove.d.ts +9 -0
- package/dist/material/moves/MaterialMoveBuilder.d.ts +36 -0
- package/dist/material/moves/MaterialMoveBuilder.js +36 -0
- package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
- package/dist/material/moves/MoveKind.d.ts +3 -0
- package/dist/material/moves/MoveKind.js +3 -0
- package/dist/material/moves/MoveKind.js.map +1 -1
- package/dist/material/moves/items/CreateItem.d.ts +13 -0
- package/dist/material/moves/items/CreateItem.js +10 -0
- package/dist/material/moves/items/CreateItem.js.map +1 -1
- package/dist/material/moves/items/CreateItemsAtOnce.d.ts +14 -0
- package/dist/material/moves/items/CreateItemsAtOnce.js +10 -0
- package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/DeleteItem.d.ts +18 -0
- package/dist/material/moves/items/DeleteItem.js +11 -0
- package/dist/material/moves/items/DeleteItem.js.map +1 -1
- package/dist/material/moves/items/DeleteItemsAtOnce.d.ts +17 -0
- package/dist/material/moves/items/DeleteItemsAtOnce.js +10 -0
- package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/ItemMove.d.ts +12 -0
- package/dist/material/moves/items/ItemMoveType.d.ts +3 -0
- package/dist/material/moves/items/ItemMoveType.js +3 -0
- package/dist/material/moves/items/ItemMoveType.js.map +1 -1
- package/dist/material/moves/items/MoveItem.d.ts +20 -0
- package/dist/material/moves/items/MoveItem.js +11 -0
- package/dist/material/moves/items/MoveItem.js.map +1 -1
- package/dist/material/moves/items/MoveItemsAtOnce.d.ts +20 -0
- package/dist/material/moves/items/MoveItemsAtOnce.js +10 -0
- package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/RollItem.d.ts +19 -0
- package/dist/material/moves/items/RollItem.js +10 -0
- package/dist/material/moves/items/RollItem.js.map +1 -1
- package/dist/material/moves/items/SelectItem.d.ts +20 -0
- package/dist/material/moves/items/SelectItem.js +11 -0
- package/dist/material/moves/items/SelectItem.js.map +1 -1
- package/dist/material/moves/items/Shuffle.d.ts +26 -0
- package/dist/material/moves/items/Shuffle.js +15 -0
- package/dist/material/moves/items/Shuffle.js.map +1 -1
- package/dist/material/moves/local/CloseTutorialPopup.d.ts +8 -0
- package/dist/material/moves/local/CloseTutorialPopup.js +5 -0
- package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
- package/dist/material/moves/local/DisplayHelp.d.ts +18 -0
- package/dist/material/moves/local/DisplayHelp.js +3 -0
- package/dist/material/moves/local/DisplayHelp.js.map +1 -1
- package/dist/material/moves/local/DropItem.d.ts +9 -0
- package/dist/material/moves/local/LocalMove.d.ts +6 -0
- package/dist/material/moves/local/LocalMove.js +3 -0
- package/dist/material/moves/local/LocalMove.js.map +1 -1
- package/dist/material/moves/local/SetTutorialStep.d.ts +8 -0
- package/dist/material/moves/local/SetTutorialStep.js +5 -0
- package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
- package/dist/material/rules/MaterialRulesPart.d.ts +76 -0
- package/dist/material/rules/MaterialRulesPart.js +75 -3
- package/dist/material/rules/MaterialRulesPart.js.map +1 -1
- package/dist/material/rules/PlayerTurnRule.d.ts +19 -0
- package/dist/material/rules/PlayerTurnRule.js +20 -1
- package/dist/material/rules/PlayerTurnRule.js.map +1 -1
- package/dist/material/rules/RuleStep.d.ts +3 -0
- package/dist/material/rules/SimultaneousRule.d.ts +25 -0
- package/dist/material/rules/SimultaneousRule.js +21 -1
- package/dist/material/rules/SimultaneousRule.js.map +1 -1
- package/dist/material/tutorial/TutorialState.d.ts +7 -0
- package/dist/options/OptionsValidationError.js +1 -1
- package/dist/options/PlayerEnumOption.js +3 -0
- package/dist/options/PlayerEnumOption.js.map +1 -1
- package/dist/utils/action-view.util.js +3 -1
- package/dist/utils/action-view.util.js.map +1 -1
- package/dist/utils/action.util.js +1 -1
- package/dist/utils/action.util.js.map +1 -1
- package/dist/utils/enum.util.d.ts +27 -0
- package/dist/utils/enum.util.js +24 -0
- package/dist/utils/enum.util.js.map +1 -1
- package/dist/utils/grid.squares.util.d.ts +26 -0
- package/dist/utils/grid.squares.util.js +26 -0
- package/dist/utils/grid.squares.util.js.map +1 -1
- package/dist/utils/grid.util.d.ts +8 -0
- package/dist/utils/grid.util.js +5 -0
- package/dist/utils/grid.util.js.map +1 -1
- package/dist/utils/listing.util.d.ts +12 -0
- package/dist/utils/listing.util.js +12 -0
- package/dist/utils/listing.util.js.map +1 -1
- package/dist/utils/money.util.d.ts +42 -4
- package/dist/utils/money.util.js +39 -1
- package/dist/utils/money.util.js.map +1 -1
- package/dist/utils/random.util.d.ts +6 -2
- package/dist/utils/random.util.js +6 -10
- package/dist/utils/random.util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAoC;AACpC,uDAAgC;AAChC,wCAA4E;AAC5E,kCAaiB;AACjB,iCAAgD;
|
|
1
|
+
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAoC;AACpC,uDAAgC;AAChC,wCAA4E;AAC5E,kCAaiB;AACjB,iCAAgD;AAEhD;;;;;;GAMG;AACH;IACE;;;;;OAKG;IACH,yBACmB,IAAO,EACP,KAA2B,EAC3B,mBAAuE,EACvE,QAAwB;QADxB,oCAAA,EAAA,wBAAuE;QACvE,yBAAA,EAAA,eAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAG;QACP,UAAK,GAAL,KAAK,CAAsB;QAC3B,wBAAmB,GAAnB,mBAAmB,CAAoD;QACvE,aAAQ,GAAR,QAAQ,CAAgB;IAE3C,CAAC;IAED;;;OAGG;IACH,mCAAS,GAAT,UAAU,IAAyD;QACjE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,oBAAY,CAAC,MAAM;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAK;YACP,KAAK,oBAAY,CAAC,YAAY;gBAC5B,KAAmB,UAAU,EAAV,KAAA,IAAI,CAAC,KAAK,EAAV,cAAU,EAAV,IAAU,EAAE,CAAC;oBAA3B,IAAM,IAAI,SAAA;oBACb,IAAI,CAAC,MAAM,uBAAM,IAAI,KAAE,IAAI,EAAE,oBAAY,CAAC,MAAM,EAAE,IAAI,MAAA,IAAG,CAAA;gBAC3D,CAAC;gBACD,MAAK;YACP,KAAK,oBAAY,CAAC,IAAI;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACf,MAAK;YACP,KAAK,oBAAY,CAAC,UAAU;gBAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;gBAC1B,MAAK;YACP,KAAK,oBAAY,CAAC,IAAI;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACf,MAAK;YACP,KAAK,oBAAY,CAAC,MAAM;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAK;YACP,KAAK,oBAAY,CAAC,YAAY;gBAC5B,KAAoB,UAAY,EAAZ,KAAA,IAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,EAAE,CAAC;oBAA9B,IAAM,KAAK,SAAA;oBACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,EAAE,QAAQ,CAAC,CAAA;gBAC/C,CAAC;gBACD,MAAK;YACP,KAAK,oBAAY,CAAC,OAAO;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAClB,MAAK;YACP,KAAK,oBAAY,CAAC,MAAM;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAK;QACT,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,wCAAc,GAAd,UAAe,OAA2B;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAA;QACrB,IAAU,EAAE,GAAe,OAAO,SAAtB,EAAK,KAAK,UAAK,OAAO,EAApC,YAA0B,CAAF,CAAY;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,EAA0B;YAAxB,IAAU,EAAE,cAAA,EAAK,KAAK,cAAxB,YAA0B,CAAF;YAAO,OAAA,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAA,iBAAO,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;SAAA,CAAC,CAAA;IAC5G,CAAC;IAEO,iCAAO,GAAf,UAAgB,IAAwB;QACtC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAnB,CAAmB,CAAC,CAAA;QACxE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,8CAAoB,GAApB,UAAqB,OAA2B;QAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,UAAU,CAAA;QACxC,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAnB,CAAmB,CAAC,CAAA;QACxE,IAAI,cAAc,KAAK,CAAC,CAAC;YAAE,OAAO,cAAc,CAAA;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAEO,8CAAoB,GAA5B,UAA6B,IAAwB;QACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;YAC9D,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAM,QAAQ,GAAG,IAAI,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;qBACjD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACtH,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,+CAAqB,GAA7B,UAA8B,IAAwB,EAAE,KAAa;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;YAC9D,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAM,QAAQ,GAAG,IAAI,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;qBACjD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACtH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oCAAU,GAAlB,UAAmB,IAAwB,EAAE,QAAoB;;QAApB,yBAAA,EAAA,YAAoB;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAEO,iDAAuB,GAA/B,UAAgC,IAAwB;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;YAC9D,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAM,QAAQ,GAAG,IAAI,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;qBACjD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACtH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gCAAM,GAAd,UAAe,IAAyB;;QACtC,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACxC,SAAS,CAAC,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAEO,8BAAI,GAAZ,UAAa,IAAuB;;QAClC,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAA;QACnC,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACjD,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QACrD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,UAAU,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,IAAI,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACN,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;gBACxC,SAAS,CAAC,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,QAAQ,CAAA;gBACzD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC;YACjE,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAA;YAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAEO,8BAAI,GAAZ,UAAa,IAAuB;QAClC,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAM,aAAa,yBAA4B,UAAU,KAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAE,CAAA;QAChH,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAEO,kCAAQ,GAAhB,UAAiB,IAAwB,EAAE,OAA2B,EAAE,KAAa;QACnF,IAAI,CAAC,IAAA,6BAAkB,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;QAC3B,IAAI,CAAC,IAAA,6BAAkB,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAEO,yCAAe,GAAvB,UAAwB,IAA8B;QACpD,KAAoB,UAAY,EAAZ,KAAA,IAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,EAAE,CAAC;YAA9B,IAAM,KAAK,SAAA;YACd,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpC,IAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC9D,IAAI,CAAC,IAAA,6BAAkB,EAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;YAClD,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,CAAA;YACjC,IAAI,CAAC,IAAA,6BAAkB,EAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,0CAAgB,GAAhB,UAAiB,IAAuB;QACtC,IAAM,IAAI,GAAuB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACxF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAA,eAAK,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,gDAAsB,GAAtB,UAAuB,IAA8B,EAAE,KAAa;QAClE,IAAM,IAAI,GAAuB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC/E,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,IAAA,eAAK,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,6CAAmB,GAA3B,UAA4B,QAAiC,EAAE,KAAa;QAC1E,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QACzD,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpC,IAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,uBAAM,UAAU,CAAC,QAAQ,GAAK,YAAY,EAAG,CAAC,CAAC,YAAY,CAAA;QAC5G,6BAAY,UAAU,KAAE,QAAQ,EAAE,WAAW,IAAE;IACjD,CAAC;IAEO,gCAAM,GAAd,UAAe,IAAmB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpE,CAAC;IAEO,iCAAO,GAAf,UAAgB,IAAuC;QAAvD,iBAMC;QALC,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC;YAAE,OAAM,CAAC,iGAAiG;QACxI,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAjB,CAAiB,CAAC,CAAA;QACpE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,QAAQ,EAAE,CAAC;YAClC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAQ,aAAa,CAAC,CAAC,CAAC,KAAE,QAAQ,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAE,CAAA;QACzF,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,gCAAM,GAAd,UAAe,IAAmB;;QAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAA;QACvC,CAAC;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AA9PD,IA8PC;AA9PY,0CAAe"}
|
|
@@ -14,8 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
17
|
+
// Important: Material export must come first to prevent a circular file dependency issue (see https://stackoverflow.com/a/67261675/1581466)
|
|
18
18
|
__exportStar(require("./Material"), exports);
|
|
19
|
+
__exportStar(require("./MaterialDeck"), exports);
|
|
19
20
|
__exportStar(require("./MaterialItem"), exports);
|
|
21
|
+
__exportStar(require("./MaterialMoney"), exports);
|
|
20
22
|
__exportStar(require("./MaterialMutator"), exports);
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4IAA4I;AAC5I,6CAA0B;AAC1B,iDAA8B;AAC9B,iDAA8B;AAC9B,kDAA+B;AAC/B,oDAAiC"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import { XYCoordinates } from '../../utils';
|
|
2
|
+
/**
|
|
3
|
+
* A location where to place the material in a game
|
|
4
|
+
*
|
|
5
|
+
* @typeparam Player - identifier of a player. Either a number or a numeric enum (eg: PlayerColor)
|
|
6
|
+
* @typeparam LocationType - Numeric enum of the types of location in the game where the material can be located
|
|
7
|
+
* @typeparam Id - Type of id property of the location. Must be JSON serializable.
|
|
8
|
+
*
|
|
9
|
+
* @property type The type of location. Usually an enum named LocationType.
|
|
10
|
+
* @property id Optional location identifier, if the coordinates, player and parent items are not enough.
|
|
11
|
+
* @property player Optional owner player of that location.
|
|
12
|
+
* @property parent Optional index of the parent item this location belongs to.
|
|
13
|
+
* @property rotation Rotation applied to the item's location
|
|
14
|
+
* @property x Optional X-coordinate
|
|
15
|
+
* @property y Optional Y-coordinate
|
|
16
|
+
* @property z Optional Z-coordinate
|
|
17
|
+
*/
|
|
2
18
|
export type Location<Player = number, LocationType = number, Id = any, Rotation = any> = {
|
|
3
19
|
type: LocationType;
|
|
4
20
|
id?: Id;
|
|
@@ -6,7 +22,19 @@ export type Location<Player = number, LocationType = number, Id = any, Rotation
|
|
|
6
22
|
parent?: number;
|
|
7
23
|
rotation?: Rotation;
|
|
8
24
|
} & Partial<Coordinates>;
|
|
25
|
+
/**
|
|
26
|
+
* A 3-dimension coordinates system
|
|
27
|
+
*
|
|
28
|
+
* @property x X-coordinate
|
|
29
|
+
* @property y Y-coordinate
|
|
30
|
+
* @property z Z-coordinate
|
|
31
|
+
*/
|
|
9
32
|
export type Coordinates = XYCoordinates & {
|
|
10
33
|
z: number;
|
|
11
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Utility function to know whether some locations share the same type, id, player and parent.
|
|
37
|
+
* @param locations Locations to test
|
|
38
|
+
* @returns true if all the locations belongs to the same "area" (only varies in coordinates or rotation)
|
|
39
|
+
*/
|
|
12
40
|
export declare const isSameLocationArea: (...locations: Partial<Location>[]) => boolean;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isSameLocationArea = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Utility function to know whether some locations share the same type, id, player and parent.
|
|
6
|
+
* @param locations Locations to test
|
|
7
|
+
* @returns true if all the locations belongs to the same "area" (only varies in coordinates or rotation)
|
|
8
|
+
*/
|
|
4
9
|
var isSameLocationArea = function () {
|
|
5
10
|
var locations = [];
|
|
6
11
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Location.js","sourceRoot":"","sources":["../../../src/material/location/Location.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Location.js","sourceRoot":"","sources":["../../../src/material/location/Location.ts"],"names":[],"mappings":";;;AAmCA;;;;GAIG;AACI,IAAM,kBAAkB,GAAG;IAAC,mBAAiC;SAAjC,UAAiC,EAAjC,qBAAiC,EAAjC,IAAiC;QAAjC,8BAAiC;;IAAc,OAAA,SAAS,CAAC,KAAK,CAAC,UAAC,CAAC,EAAE,CAAC,EAAE,EAAI;YAAH,EAAE,QAAA;QAC1G,OAAA,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;IAAxF,CAAwF,CACzF;AAFiF,CAEjF,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
|
|
@@ -12,7 +12,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.LocationBuilder = void 0;
|
|
15
|
-
var LocationBuilder = (function () {
|
|
15
|
+
var LocationBuilder = /** @class */ (function () {
|
|
16
16
|
function LocationBuilder(location) {
|
|
17
17
|
this.location = location;
|
|
18
18
|
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Material, MaterialItem } from '../../items';
|
|
2
2
|
import { LocationStrategy } from './LocationStrategy';
|
|
3
|
+
/**
|
|
4
|
+
* This strategy attributes the first gap in a sequence, and leaves a gap when an item is removed.
|
|
5
|
+
* Use for river-type mechanisms for instance.
|
|
6
|
+
*/
|
|
3
7
|
export declare class FillGapStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
|
|
4
8
|
axis: 'x' | 'y' | 'z';
|
|
5
9
|
constructor(axis?: 'x' | 'y' | 'z');
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FillGapStrategy = void 0;
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* This strategy attributes the first gap in a sequence, and leaves a gap when an item is removed.
|
|
6
|
+
* Use for river-type mechanisms for instance.
|
|
7
|
+
*/
|
|
8
|
+
var FillGapStrategy = /** @class */ (function () {
|
|
5
9
|
function FillGapStrategy(axis) {
|
|
6
10
|
if (axis === void 0) { axis = 'x'; }
|
|
7
11
|
this.axis = axis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FillGapStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/FillGapStrategy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FillGapStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/FillGapStrategy.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH;IAGE,yBAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,iCAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAA7D,iBASC;;QARC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAE,EAAzB,CAAyB,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzE,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,OAAO,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAK,QAAQ,EAAE,CAAC;gBACzD,QAAQ,EAAE,CAAA;YACZ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;QACrC,CAAC;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AAjBD,IAiBC;AAjBY,0CAAe"}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { Material, MaterialItem } from '../../items';
|
|
2
|
+
/**
|
|
3
|
+
* A location strategy modifies the location of items when they are moved, created or deleted,
|
|
4
|
+
* based on the items that already exists in the same location area (see {@link isSameLocationArea}).
|
|
5
|
+
*/
|
|
2
6
|
export type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
|
|
7
|
+
/**
|
|
8
|
+
* Strategy to apply when an item is added to a location area
|
|
9
|
+
* @param material The material that exists in the same location area before the new item is added
|
|
10
|
+
* @param item The item that is going to be added
|
|
11
|
+
*/
|
|
3
12
|
addItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
13
|
+
/**
|
|
14
|
+
* Strategy to apply when an item is moved inside a location area (only x, y, z or rotation changes)
|
|
15
|
+
* @param material The material that exists in the same location area
|
|
16
|
+
* @param item The item that is going to move inside the location area
|
|
17
|
+
* @param index Index of the moved item in the Material
|
|
18
|
+
*/
|
|
4
19
|
moveItem?(material: Material<P, M, L>, item: MaterialItem<P, L>, index: number): void;
|
|
20
|
+
/**
|
|
21
|
+
* Strategy to apply when an item is moved inside a location area (only x, y, z or rotation changes)
|
|
22
|
+
* @param material The material that remain in the same location area after the item was removed
|
|
23
|
+
* @param item The item that was just removed from the location area, with the state it had before it was removed
|
|
24
|
+
*/
|
|
5
25
|
removeItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
6
26
|
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Material, MaterialItem } from '../../items';
|
|
2
2
|
import { LocationStrategy } from './LocationStrategy';
|
|
3
|
+
/**
|
|
4
|
+
* This strategy help to maintain a consecutive sequence of numbers starting with 0 for items at the same location,
|
|
5
|
+
* for example a deck or a hand of cards.
|
|
6
|
+
*/
|
|
3
7
|
export declare class PositiveSequenceStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
|
|
4
8
|
axis: 'x' | 'y' | 'z';
|
|
5
9
|
constructor(axis?: 'x' | 'y' | 'z');
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PositiveSequenceStrategy = void 0;
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* This strategy help to maintain a consecutive sequence of numbers starting with 0 for items at the same location,
|
|
6
|
+
* for example a deck or a hand of cards.
|
|
7
|
+
*/
|
|
8
|
+
var PositiveSequenceStrategy = /** @class */ (function () {
|
|
5
9
|
function PositiveSequenceStrategy(axis) {
|
|
6
10
|
if (axis === void 0) { axis = 'x'; }
|
|
7
11
|
this.axis = axis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
import { MaterialGame } from '../MaterialGame';
|
|
2
|
+
/**
|
|
3
|
+
* Utility class to manipulate the memory in a {@link MaterialGame}.
|
|
4
|
+
*/
|
|
2
5
|
export declare class GameMemory<Player extends number = number> {
|
|
3
6
|
private game;
|
|
7
|
+
/**
|
|
8
|
+
* @constructor
|
|
9
|
+
* @param {MaterialGame} game Current state of the game
|
|
10
|
+
*/
|
|
4
11
|
constructor(game: MaterialGame<Player>);
|
|
12
|
+
/**
|
|
13
|
+
* Save a new value inside the memory
|
|
14
|
+
* @param key The key to index the memorized value
|
|
15
|
+
* @param value Any JSON serializable value to store, or a function that takes previous stored value and returns the new value to store
|
|
16
|
+
*/
|
|
5
17
|
memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T)): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get a value stored in the memory
|
|
20
|
+
* @param key The key to index the memorized value
|
|
21
|
+
* @returns the value stored (or undefined is nothing was stored under this key yet)
|
|
22
|
+
*/
|
|
6
23
|
remind<T = any>(key: keyof any): T;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a value from the memory
|
|
26
|
+
* @param key Key of the value to delete
|
|
27
|
+
*/
|
|
7
28
|
forget(key: keyof any): void;
|
|
8
29
|
}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GameMemory = void 0;
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Utility class to manipulate the memory in a {@link MaterialGame}.
|
|
6
|
+
*/
|
|
7
|
+
var GameMemory = /** @class */ (function () {
|
|
8
|
+
/**
|
|
9
|
+
* @constructor
|
|
10
|
+
* @param {MaterialGame} game Current state of the game
|
|
11
|
+
*/
|
|
5
12
|
function GameMemory(game) {
|
|
6
13
|
this.game = game;
|
|
7
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Save a new value inside the memory
|
|
17
|
+
* @param key The key to index the memorized value
|
|
18
|
+
* @param value Any JSON serializable value to store, or a function that takes previous stored value and returns the new value to store
|
|
19
|
+
*/
|
|
8
20
|
GameMemory.prototype.memorize = function (key, value) {
|
|
9
21
|
if (typeof value === 'function') {
|
|
10
22
|
this.game.memory[key] = value(this.game.memory[key]);
|
|
@@ -16,9 +28,18 @@ var GameMemory = (function () {
|
|
|
16
28
|
this.game.memory[key] = JSON.parse(JSON.stringify(this.game.memory[key]));
|
|
17
29
|
}
|
|
18
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Get a value stored in the memory
|
|
33
|
+
* @param key The key to index the memorized value
|
|
34
|
+
* @returns the value stored (or undefined is nothing was stored under this key yet)
|
|
35
|
+
*/
|
|
19
36
|
GameMemory.prototype.remind = function (key) {
|
|
20
37
|
return this.game.memory[key];
|
|
21
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* Delete a value from the memory
|
|
41
|
+
* @param key Key of the value to delete
|
|
42
|
+
*/
|
|
22
43
|
GameMemory.prototype.forget = function (key) {
|
|
23
44
|
delete this.game.memory[key];
|
|
24
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameMemory.js","sourceRoot":"","sources":["../../../src/material/memory/GameMemory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GameMemory.js","sourceRoot":"","sources":["../../../src/material/memory/GameMemory.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH;IACE;;;OAGG;IACH,oBAAoB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAC9C,CAAC;IAED;;;;OAIG;IACH,6BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC/B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,2BAAM,GAAN,UAAgB,GAAc;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,2BAAM,GAAN,UAAO,GAAc;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACH,iBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,gCAAU"}
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
import { MaterialGame } from '../MaterialGame';
|
|
2
|
+
/**
|
|
3
|
+
* Utility class to manipulate a player's memory in a {@link MaterialGame}.
|
|
4
|
+
*/
|
|
2
5
|
export declare class PlayerMemory<Player extends number = number> {
|
|
3
6
|
private game;
|
|
4
7
|
private player;
|
|
8
|
+
/**
|
|
9
|
+
* @constructor
|
|
10
|
+
* @param {MaterialGame} game Current state of the game
|
|
11
|
+
* @param player The player to work with
|
|
12
|
+
*/
|
|
5
13
|
constructor(game: MaterialGame<Player>, player: Player);
|
|
14
|
+
/**
|
|
15
|
+
* Save a new value inside the memory
|
|
16
|
+
* @param key The key to index the memorized value
|
|
17
|
+
* @param value Any JSON serializable value to store, or a function that takes previous stored value and returns the new value to store
|
|
18
|
+
*/
|
|
6
19
|
memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T)): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get a value stored in the memory
|
|
22
|
+
* @param key The key to index the memorized value
|
|
23
|
+
* @returns the value stored (or undefined is nothing was stored under this key yet)
|
|
24
|
+
*/
|
|
7
25
|
remind<T = any>(key: keyof any): T;
|
|
26
|
+
/**
|
|
27
|
+
* Delete a value from the memory
|
|
28
|
+
* @param key Key of the value to delete
|
|
29
|
+
*/
|
|
8
30
|
forget(key: keyof any): void;
|
|
9
31
|
}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PlayerMemory = void 0;
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Utility class to manipulate a player's memory in a {@link MaterialGame}.
|
|
6
|
+
*/
|
|
7
|
+
var PlayerMemory = /** @class */ (function () {
|
|
8
|
+
/**
|
|
9
|
+
* @constructor
|
|
10
|
+
* @param {MaterialGame} game Current state of the game
|
|
11
|
+
* @param player The player to work with
|
|
12
|
+
*/
|
|
5
13
|
function PlayerMemory(game, player) {
|
|
6
14
|
this.game = game;
|
|
7
15
|
this.player = player;
|
|
8
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Save a new value inside the memory
|
|
19
|
+
* @param key The key to index the memorized value
|
|
20
|
+
* @param value Any JSON serializable value to store, or a function that takes previous stored value and returns the new value to store
|
|
21
|
+
*/
|
|
9
22
|
PlayerMemory.prototype.memorize = function (key, value) {
|
|
10
23
|
if (!this.game.memory[key])
|
|
11
24
|
this.game.memory[key] = {};
|
|
@@ -19,10 +32,19 @@ var PlayerMemory = (function () {
|
|
|
19
32
|
this.game.memory[key][this.player] = JSON.parse(JSON.stringify(this.game.memory[key][this.player]));
|
|
20
33
|
}
|
|
21
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Get a value stored in the memory
|
|
37
|
+
* @param key The key to index the memorized value
|
|
38
|
+
* @returns the value stored (or undefined is nothing was stored under this key yet)
|
|
39
|
+
*/
|
|
22
40
|
PlayerMemory.prototype.remind = function (key) {
|
|
23
41
|
var _a;
|
|
24
42
|
return (_a = this.game.memory[key]) === null || _a === void 0 ? void 0 : _a[this.player];
|
|
25
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Delete a value from the memory
|
|
46
|
+
* @param key Key of the value to delete
|
|
47
|
+
*/
|
|
26
48
|
PlayerMemory.prototype.forget = function (key) {
|
|
27
49
|
var _a;
|
|
28
50
|
(_a = this.game.memory[key]) === null || _a === void 0 ? true : delete _a[this.player];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerMemory.js","sourceRoot":"","sources":["../../../src/material/memory/PlayerMemory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PlayerMemory.js","sourceRoot":"","sources":["../../../src/material/memory/PlayerMemory.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH;IACE;;;;OAIG;IACH,sBAAoB,IAA0B,EAAU,MAAc;QAAlD,SAAI,GAAJ,IAAI,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;IACtE,CAAC;IAED;;;;OAIG;IACH,+BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACzG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QAC5C,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,6BAAM,GAAN,UAAgB,GAAc;;QAC5B,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACH,6BAAM,GAAN,UAAO,GAAc;;QACZ,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IACH,mBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,oCAAY"}
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { MoveKind } from './MoveKind';
|
|
2
2
|
import { MaterialMove } from './MaterialMove';
|
|
3
|
+
/**
|
|
4
|
+
* A custom move is a special kind of move that can be used when the other kind of move cannot be used to implement the game easily.
|
|
5
|
+
* Often used for actions like saying "I pass" or conceptual actions specific to a game.
|
|
6
|
+
* A custom move does nothing by default. You have to implement "onCustomMove" in {@link MaterialRulesPart} to memorize things of create consequences.
|
|
7
|
+
*/
|
|
3
8
|
export type CustomMove<Type extends number = number> = {
|
|
4
9
|
kind: typeof MoveKind.CustomMove;
|
|
5
10
|
type: Type;
|
|
6
11
|
data?: any;
|
|
7
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Type guard for {@link CustomMove}
|
|
15
|
+
* @param {MaterialMove} move The move to test
|
|
16
|
+
* @returns true if the move is a {@link CustomMove}
|
|
17
|
+
*/
|
|
8
18
|
export declare const isCustomMove: <T extends number = number, P extends number = number, M extends number = number, L extends number = number>(move: MaterialMove<P, M, L>) => move is CustomMove<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Function that returns a type guard for a {@link CustomMove} of a specific type
|
|
21
|
+
* @param type The type of custom move to test
|
|
22
|
+
* @returns A type guard function
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* `if (isCustomMoveType(CustomMoveType.Pass)(move)) ...`
|
|
26
|
+
*/
|
|
9
27
|
export declare function isCustomMoveType<T extends number = number, P extends number = number, M extends number = number, L extends number = number>(type: T): (move: MaterialMove<P, M, L>) => move is CustomMove<T>;
|
|
@@ -2,8 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isCustomMoveType = exports.isCustomMove = void 0;
|
|
4
4
|
var MoveKind_1 = require("./MoveKind");
|
|
5
|
+
/**
|
|
6
|
+
* Type guard for {@link CustomMove}
|
|
7
|
+
* @param {MaterialMove} move The move to test
|
|
8
|
+
* @returns true if the move is a {@link CustomMove}
|
|
9
|
+
*/
|
|
5
10
|
var isCustomMove = function (move) { return move.kind === MoveKind_1.MoveKind.CustomMove; };
|
|
6
11
|
exports.isCustomMove = isCustomMove;
|
|
12
|
+
/**
|
|
13
|
+
* Function that returns a type guard for a {@link CustomMove} of a specific type
|
|
14
|
+
* @param type The type of custom move to test
|
|
15
|
+
* @returns A type guard function
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* `if (isCustomMoveType(CustomMoveType.Pass)(move)) ...`
|
|
19
|
+
*/
|
|
7
20
|
function isCustomMoveType(type) {
|
|
8
21
|
return function (move) { return (0, exports.isCustomMove)(move) && move.type === type; };
|
|
9
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;
|
|
1
|
+
{"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAcrC;;;;GAIG;AACI,IAAM,YAAY,GAAG,UAC1B,IAA2B,IACD,OAAA,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,UAAU,EAAjC,CAAiC,CAAA;AAFhD,QAAA,YAAY,gBAEoC;AAE7D;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,IAAO;IAEP,OAAO,UAAC,IAA2B,IAA4B,OAAA,IAAA,oBAAY,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAxC,CAAwC,CAAA;AACzG,CAAC;AAJD,4CAIC"}
|
|
@@ -2,6 +2,15 @@ import { RuleMove } from './rules';
|
|
|
2
2
|
import { CustomMove } from './CustomMove';
|
|
3
3
|
import { ItemMove, ItemMoveRandomized, ItemMoveView } from './items';
|
|
4
4
|
import { LocalMove } from './local';
|
|
5
|
+
/**
|
|
6
|
+
* Common type of all the kind of moves that can exists in a game implemented with {@link MaterialRules}
|
|
7
|
+
*/
|
|
5
8
|
export type MaterialMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
9
|
+
/**
|
|
10
|
+
* A {@link MaterialMove} but after it is randomized (see {@link RandomMove})
|
|
11
|
+
*/
|
|
6
12
|
export type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
13
|
+
/**
|
|
14
|
+
* A {@link MaterialMove} but after it is transformed to be sent to players (see {@link HiddenMaterialRules}).
|
|
15
|
+
*/
|
|
7
16
|
export type MaterialMoveView<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveView<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
@@ -1,16 +1,52 @@
|
|
|
1
1
|
import { MaterialItem } from '../items';
|
|
2
2
|
import { Location } from '../location';
|
|
3
3
|
import { CustomMove, DisplayHelp, DropItem, EndGame, EndPlayerTurn, HelpDisplay, StartPlayerTurn, StartRule, StartSimultaneousRule } from './index';
|
|
4
|
+
/**
|
|
5
|
+
* Common namespaces for all the helper function that creates the different types of {@link MaterialMove} objects.
|
|
6
|
+
*/
|
|
4
7
|
export declare namespace MaterialMoveBuilder {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a {@link StartPlayerTurn} object
|
|
10
|
+
*/
|
|
5
11
|
const startPlayerTurn: <P extends number = number, R extends number = number>(id: R, player: P) => StartPlayerTurn<P, R>;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a {@link StartSimultaneousRule} object
|
|
14
|
+
*/
|
|
6
15
|
const startSimultaneousRule: <P extends number = number, R extends number = number>(id: R, players?: P[]) => StartSimultaneousRule<P, R>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a {@link EndPlayerTurn} object
|
|
18
|
+
*/
|
|
7
19
|
const endPlayerTurn: <P extends number = number>(player: P) => EndPlayerTurn<P>;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a {@link StartRule} object
|
|
22
|
+
*/
|
|
8
23
|
const startRule: <R extends number = number>(id: R) => StartRule<R>;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a {@link CustomMove} object
|
|
26
|
+
*/
|
|
9
27
|
const customMove: <Type extends number = number>(type: Type, data?: any) => CustomMove;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a {@link EndGame} object
|
|
30
|
+
*/
|
|
10
31
|
const endGame: () => EndGame;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a {@link DisplayHelp} object
|
|
34
|
+
*/
|
|
11
35
|
const displayHelp: <P extends number = number, M extends number = number, L extends number = number>(helpDisplay: HelpDisplay<P, M, L>) => DisplayHelp<P, M, L>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates a {@link DisplayHelp} object holding a {@link MaterialHelpDisplay}
|
|
38
|
+
*/
|
|
12
39
|
const displayMaterialHelp: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L>>, itemIndex?: number, displayIndex?: number) => DisplayHelp<P, M, L>;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a {@link DisplayHelp} object holding a {@link LocationHelpDisplay}
|
|
42
|
+
*/
|
|
13
43
|
const displayLocationHelp: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L>) => DisplayHelp<P, M, L>;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a {@link DisplayHelp} object holding a {@link RulesHelpDisplay}
|
|
46
|
+
*/
|
|
14
47
|
const displayRulesHelp: <P extends number = number, M extends number = number, L extends number = number, RuleId extends number = number>(ruleId: RuleId) => DisplayHelp<P, M, L>;
|
|
48
|
+
/**
|
|
49
|
+
* Creates a {@link DropItem} object
|
|
50
|
+
*/
|
|
15
51
|
function dropItemMove<M extends number = number>(type: M, index: number, displayIndex: number): DropItem<M>;
|
|
16
52
|
}
|
|
@@ -2,41 +2,77 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MaterialMoveBuilder = void 0;
|
|
4
4
|
var index_1 = require("./index");
|
|
5
|
+
/**
|
|
6
|
+
* Common namespaces for all the helper function that creates the different types of {@link MaterialMove} objects.
|
|
7
|
+
*/
|
|
5
8
|
var MaterialMoveBuilder;
|
|
6
9
|
(function (MaterialMoveBuilder) {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a {@link StartPlayerTurn} object
|
|
12
|
+
*/
|
|
7
13
|
MaterialMoveBuilder.startPlayerTurn = function (id, player) {
|
|
8
14
|
return ({ kind: index_1.MoveKind.RulesMove, type: index_1.RuleMoveType.StartPlayerTurn, id: id, player: player });
|
|
9
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Creates a {@link StartSimultaneousRule} object
|
|
18
|
+
*/
|
|
10
19
|
MaterialMoveBuilder.startSimultaneousRule = function (id, players) {
|
|
11
20
|
var move = { kind: index_1.MoveKind.RulesMove, type: index_1.RuleMoveType.StartSimultaneousRule, id: id };
|
|
12
21
|
if (players)
|
|
13
22
|
move.players = players;
|
|
14
23
|
return move;
|
|
15
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Creates a {@link EndPlayerTurn} object
|
|
27
|
+
*/
|
|
16
28
|
MaterialMoveBuilder.endPlayerTurn = function (player) {
|
|
17
29
|
return ({ kind: index_1.MoveKind.RulesMove, type: index_1.RuleMoveType.EndPlayerTurn, player: player });
|
|
18
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Creates a {@link StartRule} object
|
|
33
|
+
*/
|
|
19
34
|
MaterialMoveBuilder.startRule = function (id) { return ({ kind: index_1.MoveKind.RulesMove, type: index_1.RuleMoveType.StartRule, id: id }); };
|
|
35
|
+
/**
|
|
36
|
+
* Creates a {@link CustomMove} object
|
|
37
|
+
*/
|
|
20
38
|
MaterialMoveBuilder.customMove = function (type, data) {
|
|
21
39
|
var move = { kind: index_1.MoveKind.CustomMove, type: type };
|
|
22
40
|
if (data !== undefined)
|
|
23
41
|
move.data = data;
|
|
24
42
|
return move;
|
|
25
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Creates a {@link EndGame} object
|
|
46
|
+
*/
|
|
26
47
|
MaterialMoveBuilder.endGame = function () { return ({ kind: index_1.MoveKind.RulesMove, type: index_1.RuleMoveType.EndGame }); };
|
|
48
|
+
/**
|
|
49
|
+
* Creates a {@link DisplayHelp} object
|
|
50
|
+
*/
|
|
27
51
|
MaterialMoveBuilder.displayHelp = function (helpDisplay) {
|
|
28
52
|
return ({ kind: index_1.MoveKind.LocalMove, type: index_1.LocalMoveType.DisplayHelp, helpDisplay: helpDisplay });
|
|
29
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Creates a {@link DisplayHelp} object holding a {@link MaterialHelpDisplay}
|
|
56
|
+
*/
|
|
30
57
|
MaterialMoveBuilder.displayMaterialHelp = function (itemType, item, itemIndex, displayIndex) {
|
|
31
58
|
if (item === void 0) { item = {}; }
|
|
32
59
|
return MaterialMoveBuilder.displayHelp({ type: index_1.HelpDisplayType.Material, itemType: itemType, itemIndex: itemIndex, displayIndex: displayIndex, item: item });
|
|
33
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* Creates a {@link DisplayHelp} object holding a {@link LocationHelpDisplay}
|
|
63
|
+
*/
|
|
34
64
|
MaterialMoveBuilder.displayLocationHelp = function (location) {
|
|
35
65
|
return MaterialMoveBuilder.displayHelp({ type: index_1.HelpDisplayType.Location, location: location });
|
|
36
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Creates a {@link DisplayHelp} object holding a {@link RulesHelpDisplay}
|
|
69
|
+
*/
|
|
37
70
|
MaterialMoveBuilder.displayRulesHelp = function (ruleId) {
|
|
38
71
|
return MaterialMoveBuilder.displayHelp({ type: index_1.HelpDisplayType.Rules, ruleId: ruleId });
|
|
39
72
|
};
|
|
73
|
+
/**
|
|
74
|
+
* Creates a {@link DropItem} object
|
|
75
|
+
*/
|
|
40
76
|
function dropItemMove(type, index, displayIndex) {
|
|
41
77
|
return { kind: index_1.MoveKind.LocalMove, type: index_1.LocalMoveType.DropItem, item: { type: type, index: index, displayIndex: displayIndex } };
|
|
42
78
|
}
|