summaryrefslogtreecommitdiff
path: root/sw-ui/src/main/kotlin
diff options
context:
space:
mode:
authorJoffrey Bion <joffrey.bion@booking.com>2020-05-24 12:04:38 +0200
committerJoffrey Bion <joffrey.bion@booking.com>2020-05-24 12:04:38 +0200
commit23ba9bbb8bb36aa3e0db8f0063a90d2ce87022b5 (patch)
tree83d2e1f31b66d2a1a264b28940ba69d5d9a796e7 /sw-ui/src/main/kotlin
parentAdd built wonder stage (cards below wonder) (diff)
downloadseven-wonders-23ba9bbb8bb36aa3e0db8f0063a90d2ce87022b5.tar.gz
seven-wonders-23ba9bbb8bb36aa3e0db8f0063a90d2ce87022b5.tar.bz2
seven-wonders-23ba9bbb8bb36aa3e0db8f0063a90d2ce87022b5.zip
Add hand rotation irection indicator
Diffstat (limited to 'sw-ui/src/main/kotlin')
-rw-r--r--sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt36
1 files changed, 35 insertions, 1 deletions
diff --git a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt
index 46d6b4c1..2422e66f 100644
--- a/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt
+++ b/sw-ui/src/main/kotlin/org/luxons/sevenwonders/ui/components/game/GameScene.kt
@@ -10,6 +10,7 @@ import org.luxons.sevenwonders.model.PlayerMove
import org.luxons.sevenwonders.model.PlayerTurnInfo
import org.luxons.sevenwonders.model.api.PlayerDTO
import org.luxons.sevenwonders.model.cards.HandCard
+import org.luxons.sevenwonders.model.cards.HandRotationDirection
import org.luxons.sevenwonders.ui.components.GlobalStyles
import org.luxons.sevenwonders.ui.redux.*
import react.*
@@ -59,6 +60,7 @@ private class GameScene(props: GameSceneProps) : RComponent<GameSceneProps, RSta
}
actionInfo(turnInfo.message)
boardComponent(board = board)
+ handRotationIndicator(turnInfo.table.handRotationDirection)
val hand = turnInfo.hand
if (hand != null) {
handComponent(
@@ -80,7 +82,7 @@ private class GameScene(props: GameSceneProps) : RComponent<GameSceneProps, RSta
}
}
- private fun RDOMBuilder<DIV>.actionInfo(message: String) {
+ private fun RBuilder.actionInfo(message: String) {
styledDiv {
css {
classes.add("bp3-dark")
@@ -96,6 +98,38 @@ private class GameScene(props: GameSceneProps) : RComponent<GameSceneProps, RSta
}
}
+ private fun RBuilder.handRotationIndicator(direction: HandRotationDirection) {
+ styledDiv {
+ css {
+ position = Position.absolute
+ display = Display.flex
+ alignItems = Align.center
+ bottom = 25.vh
+ }
+ val sideDistance = 2.rem
+ when (direction) {
+ HandRotationDirection.LEFT -> {
+ css { left = sideDistance }
+ bpIcon("arrow-left", size = 25)
+ handCardsImg()
+ }
+ HandRotationDirection.RIGHT -> {
+ css { right = sideDistance }
+ handCardsImg()
+ bpIcon("arrow-right", size = 25)
+ }
+ }
+ }
+ }
+
+ private fun RBuilder.handCardsImg() {
+ styledImg(src = "images/hand-cards5.png") {
+ css {
+ width = 4.rem
+ }
+ }
+ }
+
private fun RBuilder.preparedMove(card: HandCard, move: PlayerMove) {
bpOverlay(isOpen = true, onClose = props.unprepareMove) {
styledDiv {
bgstack15