[Fix] ECS

This commit is contained in:
2026-06-07 01:12:10 +07:00
parent 285c11597a
commit 5a58c9031a
16 changed files with 225 additions and 36 deletions
+13 -2
View File
@@ -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);
}
}