refactor: load/save state as ptr

This commit is contained in:
Ilia Denisov
2026-01-12 19:30:50 +02:00
parent ac60bb3020
commit 4451850f22
18 changed files with 71 additions and 57 deletions
+5 -5
View File
@@ -15,15 +15,15 @@ type Repo interface {
Release() error
// SaveTurn stores just generated new turn
SaveTurn(uint, game.Game) error
SaveTurn(uint, *game.Game) error
// SaveState stores current game state updated between turns
SaveState(game.Game) error
SaveState(*game.Game) error
// LoadState retrieves game current state
LoadState() (game.Game, error)
LoadState() (*game.Game, error)
LoadStateSafe() (game.Game, error)
LoadStateSafe() (*game.Game, error)
}
type Controller struct {
@@ -62,7 +62,7 @@ func (c *Controller) ExecuteState(consumer func(Repo)) error {
return c.Repo.Release()
}
func (c *Controller) ExecuteGame(consumer func(Repo, game.Game)) error {
func (c *Controller) ExecuteGame(consumer func(Repo, *game.Game)) error {
if err := c.Repo.Lock(); err != nil {
return fmt.Errorf("execute: lock failed: %s", err)
}