[Fix] ECS
This commit is contained in:
@@ -69,6 +69,7 @@ namespace Minesweeper.Commands
|
||||
}
|
||||
|
||||
var state = gameStateService.Current;
|
||||
var generatedOnThisCommand = false;
|
||||
if (state != GameState.Preparing && state != GameState.Playing)
|
||||
{
|
||||
return;
|
||||
@@ -85,6 +86,8 @@ namespace Minesweeper.Commands
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
generatedOnThisCommand = true;
|
||||
}
|
||||
|
||||
var result = boardService.OpenCell(command.X, command.Y);
|
||||
@@ -106,7 +109,15 @@ namespace Minesweeper.Commands
|
||||
gameStateService.SetState(GameState.Playing);
|
||||
}
|
||||
|
||||
boardEcsSyncService.SyncBoard(boardService);
|
||||
if (generatedOnThisCommand)
|
||||
{
|
||||
boardEcsSyncService.SyncBoard(boardService);
|
||||
}
|
||||
else
|
||||
{
|
||||
boardEcsSyncService.SyncCells(result.ChangedCells, boardService);
|
||||
}
|
||||
|
||||
boardEcsSyncService.SyncGameState(gameStateService.Current, boardService.IsGenerated);
|
||||
}
|
||||
}
|
||||
@@ -145,7 +156,7 @@ namespace Minesweeper.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
boardEcsSyncService.SyncBoard(boardService);
|
||||
boardEcsSyncService.SyncCells(result.ChangedCells, boardService);
|
||||
boardEcsSyncService.SyncGameState(gameStateService.Current, boardService.IsGenerated);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user