aboutsummaryrefslogtreecommitdiff
path: root/server/lib/Cafp/Messages.hs
diff options
context:
space:
mode:
authorJasper Van der Jeugt2020-07-30 21:48:22 +0200
committerJasper Van der Jeugt2020-07-30 21:48:22 +0200
commitab1267a757bcc997f05cc9babe2d1fb9bb681ce4 (patch)
tree2d044f0a704f76c5b2adaa7a506bce406410ba48 /server/lib/Cafp/Messages.hs
parent68588db76baaf8f2f17dd9b7f3649b09e102ea85 (diff)
Sync cards only once
Diffstat (limited to '')
-rw-r--r--server/lib/Cafp/Messages.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/server/lib/Cafp/Messages.hs b/server/lib/Cafp/Messages.hs
index 542189f..219efb4 100644
--- a/server/lib/Cafp/Messages.hs
+++ b/server/lib/Cafp/Messages.hs
@@ -2,6 +2,7 @@
module Cafp.Messages
( BlackCard (..)
, WhiteCard (..)
+ , Cards (..)
, GameView (..)
, ServerMessage (..)
, ClientMessage (..)
@@ -10,9 +11,14 @@ module Cafp.Messages
import Data.Text (Text)
import Elm.Derive
-data BlackCard = BlackCard Text deriving (Show)
+data BlackCard = BlackCard Int deriving (Show)
-data WhiteCard = WhiteCard Text deriving (Show)
+data WhiteCard = WhiteCard Int deriving (Show)
+
+data Cards = Cards
+ { cardsBlack :: [Text]
+ , cardsWhite :: [Text]
+ } deriving (Show)
data GameView = GameView
{ gameViewOpponents :: [Text]
@@ -23,6 +29,7 @@ data GameView = GameView
data ServerMessage
= Welcome Int
+ | SyncCards Cards
| SyncGameView GameView
| Bye
deriving (Show)
@@ -33,6 +40,7 @@ data ClientMessage
deriveBoth defaultOptions ''BlackCard
deriveBoth defaultOptions ''WhiteCard
+deriveBoth (defaultOptionsDropLower 5) ''Cards
deriveBoth (defaultOptionsDropLower 8) ''GameView
deriveBoth defaultOptions ''ServerMessage
deriveBoth defaultOptions ''ClientMessage