From 42d68aa99d59339dbdf928a54c28242635728daa Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Fri, 18 Apr 2025 21:25:32 +0200 Subject: Restore a game --- pkg/ui/multiplayer/multiplayer.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'pkg/ui/multiplayer/multiplayer.go') diff --git a/pkg/ui/multiplayer/multiplayer.go b/pkg/ui/multiplayer/multiplayer.go index 98ccfb4..ee9d452 100644 --- a/pkg/ui/multiplayer/multiplayer.go +++ b/pkg/ui/multiplayer/multiplayer.go @@ -11,8 +11,10 @@ import ( type MoveType string const ( - AbandonGameMessage MoveType = "abandon" - MoveGameMessage MoveType = "new-move" + AbandonGameMessage MoveType = "abandon" + RestoreGameMessage MoveType = "restore" + RestoreAckGameMessage MoveType = "restore-ack" + MoveGameMessage MoveType = "new-move" ) type GameMove struct { @@ -26,13 +28,14 @@ type GameNetwork struct { peer p2p.NetworkID } -// Wrapper to a `TCPNetwork` -func NewGameNetwork(localID string, address string, onHandshake p2p.NetworkHandshakeFunc, logger *zap.Logger) *GameNetwork { +// Wrapper to a `TCPNetwork`RestoreAck +func NewGameNetwork(localID string, address string, onHandshake p2p.NetworkHandshakeFunc, onFirstHandshake p2p.NetworkHandshakeFunc, logger *zap.Logger) *GameNetwork { opts := p2p.TCPNetworkOpts{ - ListenAddr: address, - HandshakeFn: onHandshake, - RetryDelay: time.Second * 2, - Logger: logger, + ListenAddr: address, + HandshakeFn: onHandshake, + FirstHandshakeFn: onFirstHandshake, + RetryDelay: time.Second * 2, + Logger: logger, } server := p2p.NewTCPNetwork(p2p.NetworkID(localID), opts) return &GameNetwork{ -- cgit v1.2.3-18-g5258