@gamepark/react-game 6.0.0-alpha.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/components/Avatar/Avatar.d.ts +8 -0
- package/dist/components/Avatar/Avatar.js +63 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/ChatSpeechBubble.d.ts +8 -0
- package/dist/components/Avatar/ChatSpeechBubble.js +62 -0
- package/dist/components/Avatar/ChatSpeechBubble.js.map +1 -0
- package/dist/components/Avatar/SpeechBubble.d.ts +15 -0
- package/dist/components/Avatar/SpeechBubble.js +73 -0
- package/dist/components/Avatar/SpeechBubble.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +3 -0
- package/dist/components/Avatar/index.js +20 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Chat/Chat.d.ts +3 -0
- package/dist/components/Chat/Chat.js +81 -0
- package/dist/components/Chat/Chat.js.map +1 -0
- package/dist/components/Chat/ChatMessage.d.ts +7 -0
- package/dist/components/Chat/ChatMessage.js +30 -0
- package/dist/components/Chat/ChatMessage.js.map +1 -0
- package/dist/components/Chat/ChatMessageAuthor.d.ts +3 -0
- package/dist/components/Chat/ChatMessageAuthor.js +35 -0
- package/dist/components/Chat/ChatMessageAuthor.js.map +1 -0
- package/dist/components/Chat/ChatTextInput.d.ts +7 -0
- package/dist/components/Chat/ChatTextInput.js +45 -0
- package/dist/components/Chat/ChatTextInput.js.map +1 -0
- package/dist/components/Chat/SignInToChat.d.ts +1 -0
- package/dist/components/Chat/SignInToChat.js +36 -0
- package/dist/components/Chat/SignInToChat.js.map +1 -0
- package/dist/components/Chat/index.d.ts +5 -0
- package/dist/components/Chat/index.js +22 -0
- package/dist/components/Chat/index.js.map +1 -0
- package/dist/components/GamePoints/GamePointIcon.d.ts +2 -0
- package/dist/components/GamePoints/GamePointIcon.js +26 -0
- package/dist/components/GamePoints/GamePointIcon.js.map +1 -0
- package/dist/components/GamePoints/GamePoints.d.ts +8 -0
- package/dist/components/GamePoints/GamePoints.js +58 -0
- package/dist/components/GamePoints/GamePoints.js.map +1 -0
- package/dist/components/GamePoints/index.d.ts +2 -0
- package/dist/components/GamePoints/index.js +19 -0
- package/dist/components/GamePoints/index.js.map +1 -0
- package/dist/components/GameProvider/GameContext.d.ts +20 -0
- package/dist/components/GameProvider/GameContext.js +20 -0
- package/dist/components/GameProvider/GameContext.js.map +1 -0
- package/dist/components/GameProvider/GameProvider.d.ts +5 -0
- package/dist/components/GameProvider/GameProvider.js +113 -0
- package/dist/components/GameProvider/GameProvider.js.map +1 -0
- package/dist/components/GameProvider/index.d.ts +2 -0
- package/dist/components/GameProvider/index.js +19 -0
- package/dist/components/GameProvider/index.js.map +1 -0
- package/dist/components/Header/Header.d.ts +7 -0
- package/dist/components/Header/Header.js +46 -0
- package/dist/components/Header/Header.js.map +1 -0
- package/dist/components/Header/MaterialHeader.d.ts +9 -0
- package/dist/components/Header/MaterialHeader.js +41 -0
- package/dist/components/Header/MaterialHeader.js.map +1 -0
- package/dist/components/Header/index.d.ts +2 -0
- package/dist/components/Header/index.js +19 -0
- package/dist/components/Header/index.js.map +1 -0
- package/dist/components/ImagesLoader/ImagesLoader.d.ts +6 -0
- package/dist/components/ImagesLoader/ImagesLoader.js +24 -0
- package/dist/components/ImagesLoader/ImagesLoader.js.map +1 -0
- package/dist/components/ImagesLoader/index.d.ts +1 -0
- package/dist/components/ImagesLoader/index.js +18 -0
- package/dist/components/ImagesLoader/index.js.map +1 -0
- package/dist/components/Letterbox/Letterbox.d.ts +8 -0
- package/dist/components/Letterbox/Letterbox.js +43 -0
- package/dist/components/Letterbox/Letterbox.js.map +1 -0
- package/dist/components/Letterbox/index.d.ts +1 -0
- package/dist/components/Letterbox/index.js +18 -0
- package/dist/components/Letterbox/index.js.map +1 -0
- package/dist/components/LoadingScreen/LoadingScreen.d.ts +10 -0
- package/dist/components/LoadingScreen/LoadingScreen.js +76 -0
- package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -0
- package/dist/components/LoadingScreen/index.d.ts +1 -0
- package/dist/components/LoadingScreen/index.js +18 -0
- package/dist/components/LoadingScreen/index.js.map +1 -0
- package/dist/components/Picture/Picture.d.ts +8 -0
- package/dist/components/Picture/Picture.js +34 -0
- package/dist/components/Picture/Picture.js.map +1 -0
- package/dist/components/Picture/index.d.ts +1 -0
- package/dist/components/Picture/index.js +18 -0
- package/dist/components/Picture/index.js.map +1 -0
- package/dist/components/PlayerPanel/PlayerPanel.d.ts +7 -0
- package/dist/components/PlayerPanel/PlayerPanel.js +57 -0
- package/dist/components/PlayerPanel/PlayerPanel.js.map +1 -0
- package/dist/components/PlayerPanel/index.d.ts +1 -0
- package/dist/components/PlayerPanel/index.js +18 -0
- package/dist/components/PlayerPanel/index.js.map +1 -0
- package/dist/components/PlayerTimer/PlayerTimer.d.ts +8 -0
- package/dist/components/PlayerTimer/PlayerTimer.js +69 -0
- package/dist/components/PlayerTimer/PlayerTimer.js.map +1 -0
- package/dist/components/PlayerTimer/index.d.ts +1 -0
- package/dist/components/PlayerTimer/index.js +18 -0
- package/dist/components/PlayerTimer/index.js.map +1 -0
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.d.ts +13 -0
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js +66 -0
- package/dist/components/buttons/PlayMoveButton/PlayMoveButton.js.map +1 -0
- package/dist/components/buttons/PlayMoveButton/index.d.ts +1 -0
- package/dist/components/buttons/PlayMoveButton/index.js +18 -0
- package/dist/components/buttons/PlayMoveButton/index.js.map +1 -0
- package/dist/components/buttons/ThemeButton/ThemeButton.d.ts +3 -0
- package/dist/components/buttons/ThemeButton/ThemeButton.js +22 -0
- package/dist/components/buttons/ThemeButton/ThemeButton.js.map +1 -0
- package/dist/components/buttons/ThemeButton/index.d.ts +1 -0
- package/dist/components/buttons/ThemeButton/index.js +18 -0
- package/dist/components/buttons/ThemeButton/index.js.map +1 -0
- package/dist/components/buttons/index.d.ts +2 -0
- package/dist/components/buttons/index.js +19 -0
- package/dist/components/buttons/index.js.map +1 -0
- package/dist/components/dialogs/Dialog.d.ts +12 -0
- package/dist/components/dialogs/Dialog.js +63 -0
- package/dist/components/dialogs/Dialog.js.map +1 -0
- package/dist/components/dialogs/FailuresDialog.d.ts +2 -0
- package/dist/components/dialogs/FailuresDialog.js +69 -0
- package/dist/components/dialogs/FailuresDialog.js.map +1 -0
- package/dist/components/dialogs/ResultDialog/RematchDisplay.d.ts +6 -0
- package/dist/components/dialogs/ResultDialog/RematchDisplay.js +58 -0
- package/dist/components/dialogs/ResultDialog/RematchDisplay.js.map +1 -0
- package/dist/components/dialogs/ResultDialog/RematchSection.d.ts +5 -0
- package/dist/components/dialogs/ResultDialog/RematchSection.js +42 -0
- package/dist/components/dialogs/ResultDialog/RematchSection.js.map +1 -0
- package/dist/components/dialogs/ResultDialog/ResultDialog.d.ts +7 -0
- package/dist/components/dialogs/ResultDialog/ResultDialog.js +107 -0
- package/dist/components/dialogs/ResultDialog/ResultDialog.js.map +1 -0
- package/dist/components/dialogs/ResultDialog/index.d.ts +1 -0
- package/dist/components/dialogs/ResultDialog/index.js +18 -0
- package/dist/components/dialogs/ResultDialog/index.js.map +1 -0
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.d.ts +11 -0
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js +42 -0
- package/dist/components/dialogs/RulesDialog/LocationRulesDialogContent.js.map +1 -0
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.d.ts +4 -0
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js +42 -0
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialog.js.map +1 -0
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.d.ts +9 -0
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js +49 -0
- package/dist/components/dialogs/RulesDialog/MaterialRulesDialogContent.js.map +1 -0
- package/dist/components/dialogs/RulesDialog/RulesDialog.d.ts +7 -0
- package/dist/components/dialogs/RulesDialog/RulesDialog.js +44 -0
- package/dist/components/dialogs/RulesDialog/RulesDialog.js.map +1 -0
- package/dist/components/dialogs/RulesDialog/index.d.ts +2 -0
- package/dist/components/dialogs/RulesDialog/index.js +19 -0
- package/dist/components/dialogs/RulesDialog/index.js.map +1 -0
- package/dist/components/dialogs/index.d.ts +4 -0
- package/dist/components/dialogs/index.js +21 -0
- package/dist/components/dialogs/index.js.map +1 -0
- package/dist/components/index.d.ts +12 -0
- package/dist/components/index.js +29 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/material/Board/Board.d.ts +17 -0
- package/dist/components/material/Board/Board.js +34 -0
- package/dist/components/material/Board/Board.js.map +1 -0
- package/dist/components/material/Board/index.d.ts +1 -0
- package/dist/components/material/Board/index.js +18 -0
- package/dist/components/material/Board/index.js.map +1 -0
- package/dist/components/material/Card/Card.d.ts +23 -0
- package/dist/components/material/Card/Card.js +49 -0
- package/dist/components/material/Card/Card.js.map +1 -0
- package/dist/components/material/Card/index.d.ts +1 -0
- package/dist/components/material/Card/index.js +18 -0
- package/dist/components/material/Card/index.js.map +1 -0
- package/dist/components/material/DraggableMaterial.d.ts +14 -0
- package/dist/components/material/DraggableMaterial.js +112 -0
- package/dist/components/material/DraggableMaterial.js.map +1 -0
- package/dist/components/material/DropAreas/SimpleDropArea.d.ts +12 -0
- package/dist/components/material/DropAreas/SimpleDropArea.js +121 -0
- package/dist/components/material/DropAreas/SimpleDropArea.js.map +1 -0
- package/dist/components/material/DropAreas/index.d.ts +1 -0
- package/dist/components/material/DropAreas/index.js +18 -0
- package/dist/components/material/DropAreas/index.js.map +1 -0
- package/dist/components/material/GameTable/GameMaterialDisplay.d.ts +1 -0
- package/dist/components/material/GameTable/GameMaterialDisplay.js +107 -0
- package/dist/components/material/GameTable/GameMaterialDisplay.js.map +1 -0
- package/dist/components/material/GameTable/GameTable.d.ts +18 -0
- package/dist/components/material/GameTable/GameTable.js +53 -0
- package/dist/components/material/GameTable/GameTable.js.map +1 -0
- package/dist/components/material/GameTable/GameTableContent.d.ts +18 -0
- package/dist/components/material/GameTable/GameTableContent.js +48 -0
- package/dist/components/material/GameTable/GameTableContent.js.map +1 -0
- package/dist/components/material/GameTable/index.d.ts +1 -0
- package/dist/components/material/GameTable/index.js +18 -0
- package/dist/components/material/GameTable/index.js.map +1 -0
- package/dist/components/material/Items.d.ts +4 -0
- package/dist/components/material/Items.js +3 -0
- package/dist/components/material/Items.js.map +1 -0
- package/dist/components/material/MaterialAnimations.d.ts +28 -0
- package/dist/components/material/MaterialAnimations.js +172 -0
- package/dist/components/material/MaterialAnimations.js.map +1 -0
- package/dist/components/material/MaterialComponent.d.ts +20 -0
- package/dist/components/material/MaterialComponent.js +101 -0
- package/dist/components/material/MaterialComponent.js.map +1 -0
- package/dist/components/material/MaterialComponentType.d.ts +7 -0
- package/dist/components/material/MaterialComponentType.js +12 -0
- package/dist/components/material/MaterialComponentType.js.map +1 -0
- package/dist/components/material/MaterialDescription.d.ts +20 -0
- package/dist/components/material/MaterialDescription.js +3 -0
- package/dist/components/material/MaterialDescription.js.map +1 -0
- package/dist/components/material/MaterialGameAnimations.d.ts +10 -0
- package/dist/components/material/MaterialGameAnimations.js +47 -0
- package/dist/components/material/MaterialGameAnimations.js.map +1 -0
- package/dist/components/material/Token/Token.d.ts +18 -0
- package/dist/components/material/Token/Token.js +34 -0
- package/dist/components/material/Token/Token.js.map +1 -0
- package/dist/components/material/Token/index.d.ts +1 -0
- package/dist/components/material/Token/index.js +18 -0
- package/dist/components/material/Token/index.js.map +1 -0
- package/dist/components/material/index.d.ts +11 -0
- package/dist/components/material/index.js +28 -0
- package/dist/components/material/index.js.map +1 -0
- package/dist/components/material/utils/IsLocationSubset.d.ts +2 -0
- package/dist/components/material/utils/IsLocationSubset.js +12 -0
- package/dist/components/material/utils/IsLocationSubset.js.map +1 -0
- package/dist/components/material/utils/IsMoveOnItem.d.ts +2 -0
- package/dist/components/material/utils/IsMoveOnItem.js +13 -0
- package/dist/components/material/utils/IsMoveOnItem.js.map +1 -0
- package/dist/components/material/utils/IsMoveThisItem.d.ts +2 -0
- package/dist/components/material/utils/IsMoveThisItem.js +12 -0
- package/dist/components/material/utils/IsMoveThisItem.js.map +1 -0
- package/dist/components/material/utils/IsMoveThisItemToLocation.d.ts +3 -0
- package/dist/components/material/utils/IsMoveThisItemToLocation.js +11 -0
- package/dist/components/material/utils/IsMoveThisItemToLocation.js.map +1 -0
- package/dist/components/material/utils/IsMoveToLocation.d.ts +2 -0
- package/dist/components/material/utils/IsMoveToLocation.js +13 -0
- package/dist/components/material/utils/IsMoveToLocation.js.map +1 -0
- package/dist/components/material/utils/IsMoveToStock.d.ts +4 -0
- package/dist/components/material/utils/IsMoveToStock.js +18 -0
- package/dist/components/material/utils/IsMoveToStock.js.map +1 -0
- package/dist/components/material/utils/index.d.ts +5 -0
- package/dist/components/material/utils/index.js +22 -0
- package/dist/components/material/utils/index.js.map +1 -0
- package/dist/components/menus/ContrastThemeButton/ContrastThemeButton.d.ts +4 -0
- package/dist/components/menus/ContrastThemeButton/ContrastThemeButton.js +27 -0
- package/dist/components/menus/ContrastThemeButton/ContrastThemeButton.js.map +1 -0
- package/dist/components/menus/ContrastThemeButton/index.d.ts +1 -0
- package/dist/components/menus/ContrastThemeButton/index.js +18 -0
- package/dist/components/menus/ContrastThemeButton/index.js.map +1 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerButton.d.ts +2 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerButton.js +35 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerButton.js.map +1 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.d.ts +10 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js +79 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerDialog.js.map +1 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.d.ts +2 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js +37 -0
- package/dist/components/menus/EjectPlayer/EjectPlayerPopButton.js.map +1 -0
- package/dist/components/menus/EjectPlayer/index.d.ts +3 -0
- package/dist/components/menus/EjectPlayer/index.js +20 -0
- package/dist/components/menus/EjectPlayer/index.js.map +1 -0
- package/dist/components/menus/Fullscreen/FullscreenButton.d.ts +1 -0
- package/dist/components/menus/Fullscreen/FullscreenButton.js +28 -0
- package/dist/components/menus/Fullscreen/FullscreenButton.js.map +1 -0
- package/dist/components/menus/Fullscreen/FullscreenDialog.d.ts +2 -0
- package/dist/components/menus/Fullscreen/FullscreenDialog.js +47 -0
- package/dist/components/menus/Fullscreen/FullscreenDialog.js.map +1 -0
- package/dist/components/menus/Fullscreen/FullscreenPopButton.d.ts +1 -0
- package/dist/components/menus/Fullscreen/FullscreenPopButton.js +40 -0
- package/dist/components/menus/Fullscreen/FullscreenPopButton.js.map +1 -0
- package/dist/components/menus/Fullscreen/index.d.ts +3 -0
- package/dist/components/menus/Fullscreen/index.js +20 -0
- package/dist/components/menus/Fullscreen/index.js.map +1 -0
- package/dist/components/menus/GiveUpButton/GiveUpButton.d.ts +1 -0
- package/dist/components/menus/GiveUpButton/GiveUpButton.js +47 -0
- package/dist/components/menus/GiveUpButton/GiveUpButton.js.map +1 -0
- package/dist/components/menus/GiveUpButton/index.d.ts +1 -0
- package/dist/components/menus/GiveUpButton/index.js +18 -0
- package/dist/components/menus/GiveUpButton/index.js.map +1 -0
- package/dist/components/menus/Menu/LogoIcon.d.ts +2 -0
- package/dist/components/menus/Menu/LogoIcon.js +18 -0
- package/dist/components/menus/Menu/LogoIcon.js.map +1 -0
- package/dist/components/menus/Menu/Menu.d.ts +3 -0
- package/dist/components/menus/Menu/Menu.js +103 -0
- package/dist/components/menus/Menu/Menu.js.map +1 -0
- package/dist/components/menus/Menu/MenuPopButton.d.ts +7 -0
- package/dist/components/menus/Menu/MenuPopButton.js +52 -0
- package/dist/components/menus/Menu/MenuPopButton.js.map +1 -0
- package/dist/components/menus/Menu/NavButton.d.ts +7 -0
- package/dist/components/menus/Menu/NavButton.js +33 -0
- package/dist/components/menus/Menu/NavButton.js.map +1 -0
- package/dist/components/menus/Menu/index.d.ts +1 -0
- package/dist/components/menus/Menu/index.js +18 -0
- package/dist/components/menus/Menu/index.js.map +1 -0
- package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.d.ts +1 -0
- package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js +36 -0
- package/dist/components/menus/RestartTutorialButton/RestartTutorialButton.js.map +1 -0
- package/dist/components/menus/RestartTutorialButton/index.d.ts +1 -0
- package/dist/components/menus/RestartTutorialButton/index.js +18 -0
- package/dist/components/menus/RestartTutorialButton/index.js.map +1 -0
- package/dist/components/menus/Result/Medal.d.ts +4 -0
- package/dist/components/menus/Result/Medal.js +42 -0
- package/dist/components/menus/Result/Medal.js.map +1 -0
- package/dist/components/menus/Result/MedalBronze.d.ts +2 -0
- package/dist/components/menus/Result/MedalBronze.js +18 -0
- package/dist/components/menus/Result/MedalBronze.js.map +1 -0
- package/dist/components/menus/Result/MedalGold.d.ts +2 -0
- package/dist/components/menus/Result/MedalGold.js +18 -0
- package/dist/components/menus/Result/MedalGold.js.map +1 -0
- package/dist/components/menus/Result/MedalSilver.d.ts +2 -0
- package/dist/components/menus/Result/MedalSilver.js +18 -0
- package/dist/components/menus/Result/MedalSilver.js.map +1 -0
- package/dist/components/menus/Result/ResultButton.d.ts +2 -0
- package/dist/components/menus/Result/ResultButton.js +26 -0
- package/dist/components/menus/Result/ResultButton.js.map +1 -0
- package/dist/components/menus/Result/ResultPopButton.d.ts +2 -0
- package/dist/components/menus/Result/ResultPopButton.js +37 -0
- package/dist/components/menus/Result/ResultPopButton.js.map +1 -0
- package/dist/components/menus/Result/index.d.ts +3 -0
- package/dist/components/menus/Result/index.js +20 -0
- package/dist/components/menus/Result/index.js.map +1 -0
- package/dist/components/menus/SoundButton/SoundButton.d.ts +1 -0
- package/dist/components/menus/SoundButton/SoundButton.js +34 -0
- package/dist/components/menus/SoundButton/SoundButton.js.map +1 -0
- package/dist/components/menus/SoundButton/index.d.ts +1 -0
- package/dist/components/menus/SoundButton/index.js +18 -0
- package/dist/components/menus/SoundButton/index.js.map +1 -0
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.d.ts +1 -0
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.js +76 -0
- package/dist/components/menus/TimeStatsButton/TimeStatsButton.js.map +1 -0
- package/dist/components/menus/TimeStatsButton/index.d.ts +1 -0
- package/dist/components/menus/TimeStatsButton/index.js +18 -0
- package/dist/components/menus/TimeStatsButton/index.js.map +1 -0
- package/dist/components/menus/UndoButton/UndoButton.d.ts +1 -0
- package/dist/components/menus/UndoButton/UndoButton.js +29 -0
- package/dist/components/menus/UndoButton/UndoButton.js.map +1 -0
- package/dist/components/menus/UndoButton/UndoPopButton.d.ts +1 -0
- package/dist/components/menus/UndoButton/UndoPopButton.js +36 -0
- package/dist/components/menus/UndoButton/UndoPopButton.js.map +1 -0
- package/dist/components/menus/UndoButton/index.d.ts +2 -0
- package/dist/components/menus/UndoButton/index.js +19 -0
- package/dist/components/menus/UndoButton/index.js.map +1 -0
- package/dist/components/menus/index.d.ts +5 -0
- package/dist/components/menus/index.js +22 -0
- package/dist/components/menus/index.js.map +1 -0
- package/dist/components/menus/menuCss.d.ts +10 -0
- package/dist/components/menus/menuCss.js +28 -0
- package/dist/components/menus/menuCss.js.map +1 -0
- package/dist/css/backgroundCss.d.ts +1 -0
- package/dist/css/backgroundCss.js +12 -0
- package/dist/css/backgroundCss.js.map +1 -0
- package/dist/css/buttonCss.d.ts +3 -0
- package/dist/css/buttonCss.js +14 -0
- package/dist/css/buttonCss.js.map +1 -0
- package/dist/css/componentSizeCss.d.ts +9 -0
- package/dist/css/componentSizeCss.js +20 -0
- package/dist/css/componentSizeCss.js.map +1 -0
- package/dist/css/cursorCss.d.ts +3 -0
- package/dist/css/cursorCss.js +13 -0
- package/dist/css/cursorCss.js.map +1 -0
- package/dist/css/index.d.ts +6 -0
- package/dist/css/index.js +23 -0
- package/dist/css/index.js.map +1 -0
- package/dist/css/shineEffect.d.ts +1 -0
- package/dist/css/shineEffect.js +12 -0
- package/dist/css/shineEffect.js.map +1 -0
- package/dist/css/transformCss.d.ts +1 -0
- package/dist/css/transformCss.js +18 -0
- package/dist/css/transformCss.js.map +1 -0
- package/dist/hooks/index.d.ts +24 -0
- package/dist/hooks/index.js +41 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useActions.d.ts +2 -0
- package/dist/hooks/useActions.js +9 -0
- package/dist/hooks/useActions.js.map +1 -0
- package/dist/hooks/useAnimations.d.ts +4 -0
- package/dist/hooks/useAnimations.js +37 -0
- package/dist/hooks/useAnimations.js.map +1 -0
- package/dist/hooks/useContrastTheme.d.ts +7 -0
- package/dist/hooks/useContrastTheme.js +27 -0
- package/dist/hooks/useContrastTheme.js.map +1 -0
- package/dist/hooks/useFailures.d.ts +1 -0
- package/dist/hooks/useFailures.js +11 -0
- package/dist/hooks/useFailures.js.map +1 -0
- package/dist/hooks/useFullscreen.d.ts +5 -0
- package/dist/hooks/useFullscreen.js +36 -0
- package/dist/hooks/useFullscreen.js.map +1 -0
- package/dist/hooks/useGame.d.ts +1 -0
- package/dist/hooks/useGame.js +9 -0
- package/dist/hooks/useGame.js.map +1 -0
- package/dist/hooks/useGiveUp.d.ts +1 -0
- package/dist/hooks/useGiveUp.js +17 -0
- package/dist/hooks/useGiveUp.js.map +1 -0
- package/dist/hooks/useItemLocator.d.ts +2 -0
- package/dist/hooks/useItemLocator.js +11 -0
- package/dist/hooks/useItemLocator.js.map +1 -0
- package/dist/hooks/useKeyDown.d.ts +1 -0
- package/dist/hooks/useKeyDown.js +17 -0
- package/dist/hooks/useKeyDown.js.map +1 -0
- package/dist/hooks/useLegalMoves.d.ts +2 -0
- package/dist/hooks/useLegalMoves.js +23 -0
- package/dist/hooks/useLegalMoves.js.map +1 -0
- package/dist/hooks/useMaterialAnimations.d.ts +2 -0
- package/dist/hooks/useMaterialAnimations.js +17 -0
- package/dist/hooks/useMaterialAnimations.js.map +1 -0
- package/dist/hooks/useMaterialDescription.d.ts +2 -0
- package/dist/hooks/useMaterialDescription.js +11 -0
- package/dist/hooks/useMaterialDescription.js.map +1 -0
- package/dist/hooks/useNow.d.ts +6 -0
- package/dist/hooks/useNow.js +22 -0
- package/dist/hooks/useNow.js.map +1 -0
- package/dist/hooks/useNumberOfPlayers.d.ts +1 -0
- package/dist/hooks/useNumberOfPlayers.js +7 -0
- package/dist/hooks/useNumberOfPlayers.js.map +1 -0
- package/dist/hooks/useOpponentWithMaxTime.d.ts +5 -0
- package/dist/hooks/useOpponentWithMaxTime.js +41 -0
- package/dist/hooks/useOpponentWithMaxTime.js.map +1 -0
- package/dist/hooks/usePlay.d.ts +6 -0
- package/dist/hooks/usePlay.js +24 -0
- package/dist/hooks/usePlay.js.map +1 -0
- package/dist/hooks/usePlayerId.d.ts +1 -0
- package/dist/hooks/usePlayerId.js +7 -0
- package/dist/hooks/usePlayerId.js.map +1 -0
- package/dist/hooks/usePlayerName.d.ts +1 -0
- package/dist/hooks/usePlayerName.js +9 -0
- package/dist/hooks/usePlayerName.js.map +1 -0
- package/dist/hooks/usePlayerTime.d.ts +1 -0
- package/dist/hooks/usePlayerTime.js +37 -0
- package/dist/hooks/usePlayerTime.js.map +1 -0
- package/dist/hooks/usePlayers.d.ts +8 -0
- package/dist/hooks/usePlayers.js +65 -0
- package/dist/hooks/usePlayers.js.map +1 -0
- package/dist/hooks/useRules.d.ts +2 -0
- package/dist/hooks/useRules.js +17 -0
- package/dist/hooks/useRules.js.map +1 -0
- package/dist/hooks/useScale.d.ts +1 -0
- package/dist/hooks/useScale.js +16 -0
- package/dist/hooks/useScale.js.map +1 -0
- package/dist/hooks/useSound.d.ts +1 -0
- package/dist/hooks/useSound.js +20 -0
- package/dist/hooks/useSound.js.map +1 -0
- package/dist/hooks/useStocks.d.ts +2 -0
- package/dist/hooks/useStocks.js +12 -0
- package/dist/hooks/useStocks.js.map +1 -0
- package/dist/hooks/useUndo.d.ts +7 -0
- package/dist/hooks/useUndo.js +58 -0
- package/dist/hooks/useUndo.js.map +1 -0
- package/dist/hooks/useWebP.d.ts +1 -0
- package/dist/hooks/useWebP.js +64 -0
- package/dist/hooks/useWebP.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/locators/DeckLocator.d.ts +9 -0
- package/dist/locators/DeckLocator.js +49 -0
- package/dist/locators/DeckLocator.js.map +1 -0
- package/dist/locators/HandLocator.d.ts +14 -0
- package/dist/locators/HandLocator.js +70 -0
- package/dist/locators/HandLocator.js.map +1 -0
- package/dist/locators/ItemLocator.d.ts +67 -0
- package/dist/locators/ItemLocator.js +204 -0
- package/dist/locators/ItemLocator.js.map +1 -0
- package/dist/locators/LineLocator.d.ts +8 -0
- package/dist/locators/LineLocator.js +45 -0
- package/dist/locators/LineLocator.js.map +1 -0
- package/dist/locators/PileLocator.d.ts +13 -0
- package/dist/locators/PileLocator.js +69 -0
- package/dist/locators/PileLocator.js.map +1 -0
- package/dist/locators/index.d.ts +5 -0
- package/dist/locators/index.js +22 -0
- package/dist/locators/index.js.map +1 -0
- package/dist/translation/index.d.ts +1 -0
- package/dist/translation/index.js +18 -0
- package/dist/translation/index.js.map +1 -0
- package/dist/translation/setupTranslation.d.ts +5 -0
- package/dist/translation/setupTranslation.js +33 -0
- package/dist/translation/setupTranslation.js.map +1 -0
- package/dist/utilities/combineEventListeners.d.ts +1 -0
- package/dist/utilities/combineEventListeners.js +19 -0
- package/dist/utilities/combineEventListeners.js.map +1 -0
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.js +18 -0
- package/dist/utilities/index.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DeckLocator = void 0;
|
|
19
|
+
var LineLocator_1 = require("./LineLocator");
|
|
20
|
+
var DeckLocator = /** @class */ (function (_super) {
|
|
21
|
+
__extends(DeckLocator, _super);
|
|
22
|
+
function DeckLocator() {
|
|
23
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
_this.limit = 20;
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
DeckLocator.prototype.hide = function (item, context) {
|
|
28
|
+
if (!this.limit)
|
|
29
|
+
return false;
|
|
30
|
+
var index = _super.prototype.getItemIndex.call(this, item, context);
|
|
31
|
+
var count = this.countItems(item.location, context);
|
|
32
|
+
return index < count - this.limit;
|
|
33
|
+
};
|
|
34
|
+
DeckLocator.prototype.getItemIndex = function (item, context) {
|
|
35
|
+
var index = _super.prototype.getItemIndex.call(this, item, context);
|
|
36
|
+
if (!this.limit)
|
|
37
|
+
return index;
|
|
38
|
+
var count = this.countItems(item.location, context);
|
|
39
|
+
if (count <= this.limit)
|
|
40
|
+
return index;
|
|
41
|
+
return Math.max(0, index - count + this.limit);
|
|
42
|
+
};
|
|
43
|
+
DeckLocator.prototype.getDelta = function (_item, _context) {
|
|
44
|
+
return { z: 0.05 };
|
|
45
|
+
};
|
|
46
|
+
return DeckLocator;
|
|
47
|
+
}(LineLocator_1.LineLocator));
|
|
48
|
+
exports.DeckLocator = DeckLocator;
|
|
49
|
+
//# sourceMappingURL=DeckLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeckLocator.js","sourceRoot":"","sources":["../../src/locators/DeckLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,6CAA2C;AAG3C;IAA2H,+BAAoB;IAA/I;QAAA,qEAqBC;QApBC,WAAK,GAAG,EAAE,CAAA;;IAoBZ,CAAC;IAlBC,0BAAI,GAAJ,UAAK,IAAwB,EAAE,OAAkC;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAM,KAAK,GAAG,iBAAM,YAAY,YAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACnC,CAAC;IAED,kCAAY,GAAZ,UAAa,IAAwB,EAAE,OAAkC;QACvE,IAAM,KAAK,GAAG,iBAAM,YAAY,YAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAyB,EAAE,QAAmC;QACrE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAA;IACpB,CAAC;IACH,kBAAC;AAAD,CAAC,AArBD,CAA2H,yBAAW,GAqBrI;AArBqB,kCAAW"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ItemLocator, PlaceItemContext } from './ItemLocator';
|
|
2
|
+
import { Coordinates, Location, MaterialItem } from '@gamepark/rules-api';
|
|
3
|
+
export declare abstract class HandLocator<P extends number = number, M extends number = number, L extends number = number> extends ItemLocator<P, M, L> {
|
|
4
|
+
getPosition(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
5
|
+
getRotation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
|
|
6
|
+
abstract getCoordinates(location: Location<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
7
|
+
getItemIndex(item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
8
|
+
getRadius(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
9
|
+
getBaseAngle(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
10
|
+
getMaxAngle(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
11
|
+
getGapMaxAngle(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
12
|
+
isClockwise(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): boolean;
|
|
13
|
+
getDeltaZ(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
14
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.HandLocator = void 0;
|
|
19
|
+
var ItemLocator_1 = require("./ItemLocator");
|
|
20
|
+
var HandLocator = /** @class */ (function (_super) {
|
|
21
|
+
__extends(HandLocator, _super);
|
|
22
|
+
function HandLocator() {
|
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
}
|
|
25
|
+
HandLocator.prototype.getPosition = function (item, context) {
|
|
26
|
+
var coordinates = this.getCoordinates(item.location, context);
|
|
27
|
+
var index = this.getItemIndex(item, context);
|
|
28
|
+
var deltaZ = this.getDeltaZ(item, context);
|
|
29
|
+
var radius = this.getRadius(item, context);
|
|
30
|
+
var baseAngle = this.getBaseAngle(item, context);
|
|
31
|
+
var angle = this.getRotation(item, context);
|
|
32
|
+
var x = coordinates.x + radius * Math.sin(angle * Math.PI / 180) - radius * Math.sin(baseAngle * Math.PI / 180);
|
|
33
|
+
var y = coordinates.y - radius * Math.cos(angle * Math.PI / 180) + radius * Math.cos(baseAngle * Math.PI / 180);
|
|
34
|
+
return { x: x, y: y, z: coordinates.z + index * deltaZ };
|
|
35
|
+
};
|
|
36
|
+
HandLocator.prototype.getRotation = function (item, context) {
|
|
37
|
+
var index = this.getItemIndex(item, context);
|
|
38
|
+
var size = this.countItems(item.location, context);
|
|
39
|
+
var maxAngle = this.getMaxAngle(item, context);
|
|
40
|
+
var gapMaxAngle = this.getGapMaxAngle(item, context);
|
|
41
|
+
var gapAngle = size > 1 ? Math.min(maxAngle / (size - 1), gapMaxAngle) : 0;
|
|
42
|
+
var baseAngle = this.getBaseAngle(item, context);
|
|
43
|
+
return baseAngle + (index - (size - 1) / 2) * gapAngle * (this.isClockwise(item, context) ? 1 : -1);
|
|
44
|
+
};
|
|
45
|
+
HandLocator.prototype.getItemIndex = function (item, _context) {
|
|
46
|
+
var _a;
|
|
47
|
+
return (_a = item.location.x) !== null && _a !== void 0 ? _a : 0;
|
|
48
|
+
};
|
|
49
|
+
HandLocator.prototype.getRadius = function (_item, _context) {
|
|
50
|
+
return 100;
|
|
51
|
+
};
|
|
52
|
+
HandLocator.prototype.getBaseAngle = function (_item, _context) {
|
|
53
|
+
return 0;
|
|
54
|
+
};
|
|
55
|
+
HandLocator.prototype.getMaxAngle = function (_item, _context) {
|
|
56
|
+
return 15;
|
|
57
|
+
};
|
|
58
|
+
HandLocator.prototype.getGapMaxAngle = function (_item, _context) {
|
|
59
|
+
return 3;
|
|
60
|
+
};
|
|
61
|
+
HandLocator.prototype.isClockwise = function (_item, _context) {
|
|
62
|
+
return true;
|
|
63
|
+
};
|
|
64
|
+
HandLocator.prototype.getDeltaZ = function (_item, _context) {
|
|
65
|
+
return 0.05;
|
|
66
|
+
};
|
|
67
|
+
return HandLocator;
|
|
68
|
+
}(ItemLocator_1.ItemLocator));
|
|
69
|
+
exports.HandLocator = HandLocator;
|
|
70
|
+
//# sourceMappingURL=HandLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandLocator.js","sourceRoot":"","sources":["../../src/locators/HandLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/** @jsxImportSource @emotion/react */
|
|
2
|
+
import { Coordinates, DisplayedItem, ItemMove, Location, Material, MaterialGame, MaterialItem, MaterialMove, MaterialRules, XYCoordinates } from '@gamepark/rules-api';
|
|
3
|
+
import { ItemAnimationContext, MaterialDescription } from '../components';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import { Interpolation, Theme } from '@emotion/react';
|
|
6
|
+
import { Animation } from '@gamepark/react-client';
|
|
7
|
+
export declare abstract class ItemLocator<P extends number = number, M extends number = number, L extends number = number> {
|
|
8
|
+
parentItemType?: M;
|
|
9
|
+
rotationUnit: string;
|
|
10
|
+
limit?: number;
|
|
11
|
+
hide(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): boolean;
|
|
12
|
+
transformItem(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
|
|
13
|
+
protected transformItemLocation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
|
|
14
|
+
protected transformOwnItemLocation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
|
|
15
|
+
getTranslate3d(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string;
|
|
16
|
+
getParentItemId(_location: Location<P, L>): number | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Place the center of the item on the screen
|
|
19
|
+
*
|
|
20
|
+
* @param item Item being placed
|
|
21
|
+
* @param context Placement context (type of item, and index if item has a quantity to display)
|
|
22
|
+
* @return The delta coordinates in em of the center of the item from the center of their parent (or the screen)
|
|
23
|
+
*/
|
|
24
|
+
getPosition(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
25
|
+
/**
|
|
26
|
+
* Place the center of the item in the plan of their parent item. This is ignored if "parentItemType" is undefined.
|
|
27
|
+
* Examples: {x: 0, y: 0} places the center of the item in the top-left corner of the parent item
|
|
28
|
+
* {x: 50, y: 50} centers the item in the parent item.
|
|
29
|
+
*
|
|
30
|
+
* @param location Location of the item or area inside the parent item
|
|
31
|
+
* @return {x, y} with "x" as a percentage from the parent's width, "y" a percentage of the height
|
|
32
|
+
*/
|
|
33
|
+
getPositionOnParent?(location: Location<P, L>): XYCoordinates;
|
|
34
|
+
getRotations(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): string[];
|
|
35
|
+
getRotation?(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
|
|
36
|
+
isHidden(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): boolean;
|
|
37
|
+
protected transformParentItemLocation(location: Location<P, L>, context: PlaceItemContext<P, M, L>): string[];
|
|
38
|
+
getItemThickness(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
39
|
+
getItemIndex(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
|
|
40
|
+
isSameLocation(location1: Location<P, L>, location2: Location<P, L>): boolean;
|
|
41
|
+
countItems(location: Location<P, L>, context: PlaceItemContext<P, M, L>): number;
|
|
42
|
+
getMaterial(game: MaterialGame<P, M, L>, type: M): Material<P, M, L>;
|
|
43
|
+
createLocationsOnItem<ParentItemId extends number | undefined>(parent: ParentItemId, legalMoves: MaterialMove<P, M, L>[], rules: MaterialRules<P, M, L>): ReactNode;
|
|
44
|
+
createLocations(legalMoves: MaterialMove<P, M, L>[], rules: MaterialRules<P, M, L>, context: BaseContext<P, M, L>): ReactNode;
|
|
45
|
+
getParentItemLocations?<ParentItemId extends number | undefined>(_parent: ParentItemId): Location<P, L>[];
|
|
46
|
+
getLocations?(): Location<P, L>[];
|
|
47
|
+
createLocation(location: Location<P, L>, rules: MaterialRules<P, M, L>, legalMoves: MaterialMove<P, M, L>[], hasParent?: boolean): ReactNode;
|
|
48
|
+
getLocationCss(_location: Location<P, L>, _rules: MaterialRules<P, M, L>, _legalMoves: MaterialMove<P, M, L>[]): Interpolation<Theme>;
|
|
49
|
+
getLocationRules?(props: LocationRulesProps<P, M, L>): ReactNode;
|
|
50
|
+
getRelativePlayerIndex({ game: { players }, player: me }: PlaceItemContext<P, M, L>, player: P): number;
|
|
51
|
+
isItemToAnimate({ type, index, displayIndex }: DisplayedItem<M>, animation: Animation<ItemMove<P, M, L>>, { rules: { game } }: ItemAnimationContext<P, M, L>): boolean;
|
|
52
|
+
}
|
|
53
|
+
export type BaseContext<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
|
|
54
|
+
game: MaterialGame<Player, MaterialType, LocationType>;
|
|
55
|
+
material: Record<MaterialType, MaterialDescription<Player, MaterialType, LocationType>>;
|
|
56
|
+
locators: Record<LocationType, ItemLocator<Player, MaterialType, LocationType>>;
|
|
57
|
+
player?: Player;
|
|
58
|
+
};
|
|
59
|
+
export type PlaceItemContext<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
|
|
60
|
+
type: MaterialType;
|
|
61
|
+
index: number;
|
|
62
|
+
} & BaseContext<Player, MaterialType, LocationType>;
|
|
63
|
+
export type LocationRulesProps<P extends number = number, M extends number = number, L extends number = number> = {
|
|
64
|
+
location: Location<P, L>;
|
|
65
|
+
legalMoves: MaterialMove<P, M, L>[];
|
|
66
|
+
close: () => void;
|
|
67
|
+
};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
+
if (ar || !(i in from)) {
|
|
20
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
+
ar[i] = from[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
+
};
|
|
26
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.ItemLocator = void 0;
|
|
31
|
+
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
32
|
+
/** @jsxImportSource @emotion/react */
|
|
33
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
34
|
+
var components_1 = require("../components");
|
|
35
|
+
var react_1 = require("@emotion/react");
|
|
36
|
+
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
37
|
+
var utils_1 = require("../components/material/utils");
|
|
38
|
+
var IsMoveToStock_1 = require("../components/material/utils/IsMoveToStock");
|
|
39
|
+
var ItemLocator = /** @class */ (function () {
|
|
40
|
+
function ItemLocator() {
|
|
41
|
+
this.rotationUnit = 'deg';
|
|
42
|
+
}
|
|
43
|
+
ItemLocator.prototype.hide = function (item, context) {
|
|
44
|
+
return this.limit ? this.getItemIndex(item, context) >= this.limit : false;
|
|
45
|
+
};
|
|
46
|
+
ItemLocator.prototype.transformItem = function (item, context) {
|
|
47
|
+
return __spreadArray(['translate(-50%, -50%)'], this.transformItemLocation(item, context), true);
|
|
48
|
+
};
|
|
49
|
+
ItemLocator.prototype.transformItemLocation = function (item, context) {
|
|
50
|
+
var _a;
|
|
51
|
+
return (_a = this.transformParentItemLocation(item.location, context)).concat.apply(_a, this.transformOwnItemLocation(item, context));
|
|
52
|
+
};
|
|
53
|
+
ItemLocator.prototype.transformOwnItemLocation = function (item, context) {
|
|
54
|
+
return __spreadArray([this.getTranslate3d(item, context)], this.getRotations(item, context), true);
|
|
55
|
+
};
|
|
56
|
+
ItemLocator.prototype.getTranslate3d = function (item, context) {
|
|
57
|
+
var _a;
|
|
58
|
+
var _b = this.getPosition(item, context), x = _b.x, y = _b.y, z = _b.z;
|
|
59
|
+
var parentMaterial = this.parentItemType ? context.material[this.parentItemType] : undefined;
|
|
60
|
+
if (parentMaterial) {
|
|
61
|
+
var positionOnParent = (_a = this.getPositionOnParent) === null || _a === void 0 ? void 0 : _a.call(this, item.location);
|
|
62
|
+
if (positionOnParent) {
|
|
63
|
+
var _c = (0, components_1.getPropForItem)(parentMaterial.props, this.getParentItemId(item.location)), height = _c.height, ratio = _c.ratio;
|
|
64
|
+
x += height * ratio * (positionOnParent.x - 50) / 100;
|
|
65
|
+
y += height * (positionOnParent.y - 50) / 100;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return "translate3d(".concat(x, "em, ").concat(y, "em, ").concat(z, "em)");
|
|
69
|
+
};
|
|
70
|
+
ItemLocator.prototype.getParentItemId = function (_location) {
|
|
71
|
+
return undefined;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Place the center of the item on the screen
|
|
75
|
+
*
|
|
76
|
+
* @param item Item being placed
|
|
77
|
+
* @param context Placement context (type of item, and index if item has a quantity to display)
|
|
78
|
+
* @return The delta coordinates in em of the center of the item from the center of their parent (or the screen)
|
|
79
|
+
*/
|
|
80
|
+
ItemLocator.prototype.getPosition = function (item, context) {
|
|
81
|
+
return { x: 0, y: 0, z: this.getItemThickness(item, context) };
|
|
82
|
+
};
|
|
83
|
+
ItemLocator.prototype.getRotations = function (item, context) {
|
|
84
|
+
var _a;
|
|
85
|
+
var rotations = [];
|
|
86
|
+
var rotation = (_a = this.getRotation) === null || _a === void 0 ? void 0 : _a.call(this, item, context);
|
|
87
|
+
if (rotation) {
|
|
88
|
+
rotations.push("rotateZ(".concat(rotation).concat(this.rotationUnit, ")"));
|
|
89
|
+
}
|
|
90
|
+
if (this.isHidden(item, context)) {
|
|
91
|
+
rotations.push("rotateY(180deg)");
|
|
92
|
+
}
|
|
93
|
+
return rotations;
|
|
94
|
+
};
|
|
95
|
+
ItemLocator.prototype.isHidden = function (_item, _context) {
|
|
96
|
+
return false;
|
|
97
|
+
};
|
|
98
|
+
ItemLocator.prototype.transformParentItemLocation = function (location, context) {
|
|
99
|
+
var _a;
|
|
100
|
+
if (!this.parentItemType)
|
|
101
|
+
return [];
|
|
102
|
+
var game = context.game, player = context.player, material = context.material, locators = context.locators;
|
|
103
|
+
var parentMaterial = material[this.parentItemType];
|
|
104
|
+
var parentItemIndex = (_a = game.items[this.parentItemType]) === null || _a === void 0 ? void 0 : _a.findIndex(function (item) { return (0, fast_deep_equal_1.default)(item.id, location.parent); });
|
|
105
|
+
if (parentItemIndex !== undefined && parentItemIndex !== -1) {
|
|
106
|
+
var parentItem = game.items[this.parentItemType][parentItemIndex];
|
|
107
|
+
var parentLocator = locators[parentItem.location.type];
|
|
108
|
+
return parentLocator.transformItemLocation(parentItem, __assign(__assign({}, context), { type: this.parentItemType, index: 0 }));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
var parentItemId_1 = this.getParentItemId(location);
|
|
112
|
+
var staticItem = parentMaterial.items && parentMaterial.items(game, player).find(function (item) { return (0, fast_deep_equal_1.default)(item.id, parentItemId_1); });
|
|
113
|
+
if (!staticItem)
|
|
114
|
+
return [];
|
|
115
|
+
var locator = locators[staticItem.location.type];
|
|
116
|
+
return locator.transformItemLocation(staticItem, __assign(__assign({}, context), { type: this.parentItemType, index: 0 }));
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
ItemLocator.prototype.getItemThickness = function (_item, _context) {
|
|
120
|
+
return 0.05;
|
|
121
|
+
};
|
|
122
|
+
ItemLocator.prototype.getItemIndex = function (item, context) {
|
|
123
|
+
var _a, _b, _c;
|
|
124
|
+
return (_c = (_b = (_a = item.location.x) !== null && _a !== void 0 ? _a : item.location.y) !== null && _b !== void 0 ? _b : item.location.z) !== null && _c !== void 0 ? _c : context.index;
|
|
125
|
+
};
|
|
126
|
+
ItemLocator.prototype.isSameLocation = function (location1, location2) {
|
|
127
|
+
return location1.type === location2.type && location1.player === location2.player && location1.parent === location2.parent;
|
|
128
|
+
};
|
|
129
|
+
ItemLocator.prototype.countItems = function (location, context) {
|
|
130
|
+
var _this = this;
|
|
131
|
+
var items = context.game.items[context.type];
|
|
132
|
+
if (!items)
|
|
133
|
+
return 0;
|
|
134
|
+
return items.reduce(function (sum, item) { var _a; return _this.isSameLocation(item.location, location) ? sum + ((_a = item.quantity) !== null && _a !== void 0 ? _a : 1) : sum; }, 0);
|
|
135
|
+
};
|
|
136
|
+
ItemLocator.prototype.getMaterial = function (game, type) {
|
|
137
|
+
var _a;
|
|
138
|
+
return new rules_api_1.Material(type, Array.from(((_a = game.items[type]) !== null && _a !== void 0 ? _a : []).entries()).filter(function (entry) { return entry[1].quantity !== 0; }));
|
|
139
|
+
};
|
|
140
|
+
ItemLocator.prototype.createLocationsOnItem = function (parent, legalMoves, rules) {
|
|
141
|
+
var _this = this;
|
|
142
|
+
var _a, _b;
|
|
143
|
+
var locations = (_b = (_a = this.getParentItemLocations) === null || _a === void 0 ? void 0 : _a.call(this, parent)) !== null && _b !== void 0 ? _b : [];
|
|
144
|
+
return locations.map(function (location) { return _this.createLocation(location, rules, legalMoves.filter(function (move) { return rules.isMoveTrigger(move, function (move) { return (0, utils_1.isMoveToLocation)(move, location); }); }), true); });
|
|
145
|
+
};
|
|
146
|
+
ItemLocator.prototype.createLocations = function (legalMoves, rules, context) {
|
|
147
|
+
var _this = this;
|
|
148
|
+
var _a, _b;
|
|
149
|
+
var locations = (_b = (_a = this.getLocations) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : [];
|
|
150
|
+
var stocks = (0, IsMoveToStock_1.getStocks)(context.material);
|
|
151
|
+
return locations.map(function (location) {
|
|
152
|
+
return _this.createLocation(location, rules, legalMoves.filter(function (move) { return rules.isMoveTrigger(move, function (move) { return (0, utils_1.isMoveToLocation)(move, location) || (0, IsMoveToStock_1.isMoveToStock)(stocks, move, location); }); }));
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
ItemLocator.prototype.createLocation = function (location, rules, legalMoves, hasParent) {
|
|
156
|
+
var _a, _b;
|
|
157
|
+
var position = (_b = (_a = this.getPositionOnParent) === null || _a === void 0 ? void 0 : _a.call(this, location)) !== null && _b !== void 0 ? _b : { x: 0, y: 0 };
|
|
158
|
+
return (0, jsx_runtime_1.jsx)(components_1.SimpleDropArea, { location: location, legalMoves: legalMoves, dragOnly: !hasParent, css: [hasParent && childLocationCss(position), this.getLocationCss(location, rules, legalMoves)] }, JSON.stringify(location));
|
|
159
|
+
};
|
|
160
|
+
ItemLocator.prototype.getLocationCss = function (_location, _rules, _legalMoves) {
|
|
161
|
+
return;
|
|
162
|
+
};
|
|
163
|
+
ItemLocator.prototype.getRelativePlayerIndex = function (_a, player) {
|
|
164
|
+
var players = _a.game.players, me = _a.player;
|
|
165
|
+
var absoluteIndex = players.indexOf(player);
|
|
166
|
+
if (me === undefined || players[0] === me)
|
|
167
|
+
return absoluteIndex;
|
|
168
|
+
return (absoluteIndex - players.indexOf(me) + players.length) % players.length;
|
|
169
|
+
};
|
|
170
|
+
ItemLocator.prototype.isItemToAnimate = function (_a, animation, _b) {
|
|
171
|
+
var _c, _d, _e, _f, _g, _h, _j;
|
|
172
|
+
var type = _a.type, index = _a.index, displayIndex = _a.displayIndex;
|
|
173
|
+
var game = _b.rules.game;
|
|
174
|
+
if ((0, rules_api_1.isMoveItem)(animation.move) || (0, rules_api_1.isDeleteItem)(animation.move)) {
|
|
175
|
+
var quantity = (_c = game.items[type][index].quantity) !== null && _c !== void 0 ? _c : 1;
|
|
176
|
+
if (quantity === 1)
|
|
177
|
+
return true;
|
|
178
|
+
if (this.limit)
|
|
179
|
+
quantity = Math.min(quantity, this.limit);
|
|
180
|
+
if (((_d = game.droppedItem) === null || _d === void 0 ? void 0 : _d.type) === type && game.droppedItem.index === index) {
|
|
181
|
+
var droppedIndex = game.droppedItem.displayIndex;
|
|
182
|
+
if (displayIndex === droppedIndex)
|
|
183
|
+
return true;
|
|
184
|
+
if (droppedIndex < quantity - ((_e = animation.move.quantity) !== null && _e !== void 0 ? _e : 1)) {
|
|
185
|
+
return displayIndex > quantity - ((_f = animation.move.quantity) !== null && _f !== void 0 ? _f : 1);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return displayIndex >= quantity - ((_g = animation.move.quantity) !== null && _g !== void 0 ? _g : 1);
|
|
189
|
+
}
|
|
190
|
+
else if ((0, rules_api_1.isCreateItem)(animation.move)) {
|
|
191
|
+
var quantity = (_h = game.items[type][index].quantity) !== null && _h !== void 0 ? _h : 1;
|
|
192
|
+
return displayIndex >= quantity - ((_j = animation.move.item.quantity) !== null && _j !== void 0 ? _j : 1);
|
|
193
|
+
}
|
|
194
|
+
return false;
|
|
195
|
+
};
|
|
196
|
+
return ItemLocator;
|
|
197
|
+
}());
|
|
198
|
+
exports.ItemLocator = ItemLocator;
|
|
199
|
+
var childLocationCss = function (_a) {
|
|
200
|
+
var x = _a.x, y = _a.y;
|
|
201
|
+
return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n left: ", "%;\n top: ", "%;\n transform: translate(-50%, -50%);\n"], ["\n position: absolute;\n left: ", "%;\n top: ", "%;\n transform: translate(-50%, -50%);\n"])), x, y);
|
|
202
|
+
};
|
|
203
|
+
var templateObject_1;
|
|
204
|
+
//# sourceMappingURL=ItemLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemLocator.js","sourceRoot":"","sources":["../../src/locators/ItemLocator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ItemLocator, PlaceItemContext } from './ItemLocator';
|
|
2
|
+
import { Coordinates, MaterialItem } from '@gamepark/rules-api';
|
|
3
|
+
export declare abstract class LineLocator<P extends number = number, M extends number = number, L extends number = number> extends ItemLocator<P, M, L> {
|
|
4
|
+
getPosition(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
5
|
+
abstract getCoordinates(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
6
|
+
abstract getDelta(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Partial<Coordinates>;
|
|
7
|
+
getDeltaMax?(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Partial<Coordinates>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.LineLocator = void 0;
|
|
19
|
+
var ItemLocator_1 = require("./ItemLocator");
|
|
20
|
+
var LineLocator = /** @class */ (function (_super) {
|
|
21
|
+
__extends(LineLocator, _super);
|
|
22
|
+
function LineLocator() {
|
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
}
|
|
25
|
+
LineLocator.prototype.getPosition = function (item, context) {
|
|
26
|
+
var _a, _b, _c, _d, _e, _f;
|
|
27
|
+
var coordinates = this.getCoordinates(item, context);
|
|
28
|
+
var index = this.getItemIndex(item, context);
|
|
29
|
+
var delta = this.getDelta(item, context);
|
|
30
|
+
if (this.getDeltaMax) {
|
|
31
|
+
var deltaMax = this.getDeltaMax(item, context);
|
|
32
|
+
var count = this.countItems(item.location, context);
|
|
33
|
+
if (deltaMax.x !== undefined)
|
|
34
|
+
delta.x = Math.min((_a = delta.x) !== null && _a !== void 0 ? _a : 0, deltaMax.x / count);
|
|
35
|
+
if (deltaMax.y !== undefined)
|
|
36
|
+
delta.y = Math.min((_b = delta.y) !== null && _b !== void 0 ? _b : 0, deltaMax.y / count);
|
|
37
|
+
if (deltaMax.z !== undefined)
|
|
38
|
+
delta.z = Math.min((_c = delta.z) !== null && _c !== void 0 ? _c : 0, deltaMax.z / count);
|
|
39
|
+
}
|
|
40
|
+
return { x: coordinates.x + index * ((_d = delta.x) !== null && _d !== void 0 ? _d : 0), y: coordinates.y + index * ((_e = delta.y) !== null && _e !== void 0 ? _e : 0), z: coordinates.z + index * ((_f = delta.z) !== null && _f !== void 0 ? _f : 0) };
|
|
41
|
+
};
|
|
42
|
+
return LineLocator;
|
|
43
|
+
}(ItemLocator_1.ItemLocator));
|
|
44
|
+
exports.LineLocator = LineLocator;
|
|
45
|
+
//# sourceMappingURL=LineLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineLocator.js","sourceRoot":"","sources":["../../src/locators/LineLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAA6D;AAG7D;IAA2H,+BAAoB;IAA/I;;IAoBA,CAAC;IAnBC,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAAkC;;QACtE,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtD,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAChD,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;YAClF,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;YAClF,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;SACnF;QACD,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,EAAE,CAAA;IAC5I,CAAC;IAOH,kBAAC;AAAD,CAAC,AApBD,CAA2H,yBAAW,GAoBrI;AApBqB,kCAAW"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ItemLocator, PlaceItemContext } from './ItemLocator';
|
|
2
|
+
import { Coordinates, MaterialItem } from '@gamepark/rules-api';
|
|
3
|
+
export declare abstract class PileLocator<P extends number = number, M extends number = number, L extends number = number> extends ItemLocator<P, M, L> {
|
|
4
|
+
limit: number;
|
|
5
|
+
rotate: boolean;
|
|
6
|
+
private positions;
|
|
7
|
+
private rotations;
|
|
8
|
+
getPosition(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
9
|
+
getRotation(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
|
|
10
|
+
abstract getCoordinates(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): Coordinates;
|
|
11
|
+
abstract getRadius(item: MaterialItem<P, L>, context: PlaceItemContext<P, M, L>): number;
|
|
12
|
+
getPileId(_item: MaterialItem<P, L>, _context: PlaceItemContext<P, M, L>): number;
|
|
13
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.PileLocator = void 0;
|
|
19
|
+
var ItemLocator_1 = require("./ItemLocator");
|
|
20
|
+
var PileLocator = /** @class */ (function (_super) {
|
|
21
|
+
__extends(PileLocator, _super);
|
|
22
|
+
function PileLocator() {
|
|
23
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
_this.limit = 20;
|
|
25
|
+
_this.rotate = false;
|
|
26
|
+
_this.positions = new Map();
|
|
27
|
+
_this.rotations = new Map();
|
|
28
|
+
return _this;
|
|
29
|
+
}
|
|
30
|
+
PileLocator.prototype.getPosition = function (item, context) {
|
|
31
|
+
var pileId = this.getPileId(item, context);
|
|
32
|
+
if (!this.positions.has(pileId))
|
|
33
|
+
this.positions.set(pileId, new Map());
|
|
34
|
+
var pilePositions = this.positions.get(pileId);
|
|
35
|
+
var index = this.getItemIndex(item, context);
|
|
36
|
+
var radius = this.getRadius(item, context);
|
|
37
|
+
if (!pilePositions.has(index)) {
|
|
38
|
+
var coordinates = this.getCoordinates(item, context);
|
|
39
|
+
var distance = Math.random();
|
|
40
|
+
var direction = Math.random() * 2 * Math.PI;
|
|
41
|
+
pilePositions.set(index, {
|
|
42
|
+
x: coordinates.x + Math.cos(direction) * Math.sqrt(distance) * radius,
|
|
43
|
+
y: coordinates.y + Math.sin(direction) * Math.sqrt(distance) * radius,
|
|
44
|
+
z: coordinates.z
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return pilePositions.get(index);
|
|
48
|
+
};
|
|
49
|
+
PileLocator.prototype.getRotation = function (item, context) {
|
|
50
|
+
var _a;
|
|
51
|
+
if (!this.rotate)
|
|
52
|
+
return 0;
|
|
53
|
+
var pileId = this.getPileId(item, context);
|
|
54
|
+
if (!this.rotations.has(pileId))
|
|
55
|
+
this.rotations.set(pileId, new Map());
|
|
56
|
+
var pileRotations = this.rotations.get(pileId);
|
|
57
|
+
var index = this.getItemIndex(item, context);
|
|
58
|
+
if (!pileRotations.has(index)) {
|
|
59
|
+
pileRotations.set(index, Math.random() * 360);
|
|
60
|
+
}
|
|
61
|
+
return (_a = pileRotations.get(index)) !== null && _a !== void 0 ? _a : 0;
|
|
62
|
+
};
|
|
63
|
+
PileLocator.prototype.getPileId = function (_item, _context) {
|
|
64
|
+
return 0;
|
|
65
|
+
};
|
|
66
|
+
return PileLocator;
|
|
67
|
+
}(ItemLocator_1.ItemLocator));
|
|
68
|
+
exports.PileLocator = PileLocator;
|
|
69
|
+
//# sourceMappingURL=PileLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PileLocator.js","sourceRoot":"","sources":["../../src/locators/PileLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAA6D;AAG7D;IAA2H,+BAAoB;IAA/I;QAAA,qEA4CC;QA3CC,WAAK,GAAG,EAAE,CAAA;QACV,YAAM,GAAG,KAAK,CAAA;QACN,eAAS,GAAG,IAAI,GAAG,EAAoC,CAAA;QACvD,eAAS,GAAG,IAAI,GAAG,EAA+B,CAAA;;IAwC5D,CAAC;IAtCC,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAAkC;QACtE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACtE,IAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAA;QACjD,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACtD,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YAC9B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;YAC7C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;gBACvB,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM;gBACrE,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM;gBACrE,CAAC,EAAE,WAAW,CAAC,CAAC;aACjB,CAAC,CAAA;SACH;QACD,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;IAClC,CAAC;IAED,iCAAW,GAAX,UAAY,IAAwB,EAAE,OAAkC;;QACtE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAA;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACtE,IAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAA;QACjD,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7B,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;SAC9C;QACD,OAAO,MAAA,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAA;IACtC,CAAC;IAMD,+BAAS,GAAT,UAAU,KAAyB,EAAE,QAAmC;QACtE,OAAO,CAAC,CAAA;IACV,CAAC;IACH,kBAAC;AAAD,CAAC,AA5CD,CAA2H,yBAAW,GA4CrI;AA5CqB,kCAAW"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./DeckLocator"), exports);
|
|
18
|
+
__exportStar(require("./HandLocator"), exports);
|
|
19
|
+
__exportStar(require("./ItemLocator"), exports);
|
|
20
|
+
__exportStar(require("./LineLocator"), exports);
|
|
21
|
+
__exportStar(require("./PileLocator"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,gDAA6B;AAC7B,gDAA6B;AAC7B,gDAA6B;AAC7B,gDAA6B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './setupTranslation';
|