From ab1267a757bcc997f05cc9babe2d1fb9bb681ce4 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Thu, 30 Jul 2020 21:48:22 +0200 Subject: Sync cards only once --- server/lib/Cafp/Messages.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'server/lib/Cafp/Messages.hs') 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 -- cgit v1.2.3