@@ -27,11 +27,11 @@ private async Task StartGameAsync(CancellationToken cancellationToken)
2727 {
2828 IsLoading = true ;
2929 var usedGameMode = GameType . Game6x4 ;
30- ( Guid id , int numberCode , int maxMoves , IDictionary < string , string [ ] > fieldValues ) response ;
3130
3231 try
3332 {
34- response = await gamesClient . StartGameAsync ( usedGameMode , Username ) ;
33+ var response = await gamesClient . StartGameAsync ( usedGameMode , Username ) ;
34+ Game = new Game ( response . Id , usedGameMode , Username , DateTime . Now , response . NumberCodes , response . MaxMoves , response . FieldValues ) ;
3535 }
3636 catch ( InvalidOperationException )
3737 {
@@ -53,8 +53,6 @@ private async Task StartGameAsync(CancellationToken cancellationToken)
5353 IsLoading = false ;
5454 }
5555
56- Game = new Game ( response . id , usedGameMode , Username , DateTime . Now , response . numberCode , response . maxMoves , response . fieldValues ) ;
57-
5856 WeakReferenceMessenger . Default . Send ( new GameStartedMessage ( Game ) ) ;
5957
6058 // Initialize SelectedFields
@@ -86,10 +84,20 @@ private async Task MakeMoveAsync(CancellationToken cancellationToken)
8684 WeakReferenceMessenger . Default . Send ( new MakeMoveMessage ( new ( selectedColors ! ) ) ) ;
8785
8886 IsLoading = true ;
89- ( string [ ] keyPegs , bool hasEnded , bool isVictory ) response ;
9087 try
9188 {
92- response = await gamesClient . SetMoveAsync ( Game . Id , Game . PlayerName , GameType . Game6x4 , Game . Moves . Count + 1 , selectedColors ! ) ;
89+ var response = await gamesClient . SetMoveAsync ( Game . Id , Game . PlayerName , GameType . Game6x4 , Game . Moves . Count + 1 , selectedColors ! ) ;
90+
91+ var newMove = new Move ( selectedColors ! , response . Results ) ;
92+ Game . Moves . Add ( newMove ) ;
93+ WeakReferenceMessenger . Default . Send ( new MakeMoveMessage ( newMove ) ) ;
94+
95+ if ( response . Ended )
96+ {
97+ Game . EndTime = DateTime . Now ;
98+ Game . IsVictory = response . IsVictory ;
99+ WeakReferenceMessenger . Default . Send ( new GameEndedMessage ( Game ) ) ;
100+ }
93101 }
94102 catch ( InvalidOperationException )
95103 {
@@ -110,16 +118,5 @@ private async Task MakeMoveAsync(CancellationToken cancellationToken)
110118 {
111119 IsLoading = false ;
112120 }
113-
114- var newMove = new Move ( selectedColors ! , response . keyPegs ) ;
115- Game . Moves . Add ( newMove ) ;
116- WeakReferenceMessenger . Default . Send ( new MakeMoveMessage ( newMove ) ) ;
117-
118- if ( response . hasEnded )
119- {
120- Game . EndTime = DateTime . Now ;
121- Game . IsVictory = response . isVictory ;
122- WeakReferenceMessenger . Default . Send ( new GameEndedMessage ( Game ) ) ;
123- }
124121 }
125122}
0 commit comments