recator: Repo interface
This commit is contained in:
@@ -16,10 +16,10 @@ type Repo interface {
|
||||
Release() error
|
||||
|
||||
// SaveTurn stores just generated new turn
|
||||
SaveTurn(uint, *game.Game) error
|
||||
SaveNewTurn(uint, *game.Game) error
|
||||
|
||||
// SaveState stores current game state updated between turns
|
||||
SaveState(*game.Game) error
|
||||
SaveLastState(*game.Game) error
|
||||
|
||||
// LoadState retrieves game current state with required lock acquisition
|
||||
LoadState() (*game.Game, error)
|
||||
@@ -28,13 +28,13 @@ type Repo interface {
|
||||
LoadStateSafe() (*game.Game, error)
|
||||
|
||||
// SaveBattle stores a new battle protocol and battle meta data for turn t
|
||||
SaveBattle(t uint, b *report.BattleReport, m *game.BattleMeta) error
|
||||
SaveBattle(uint, *report.BattleReport, *game.BattleMeta) error
|
||||
|
||||
// SaveBombing stores all prodused bombings for turn t
|
||||
SaveBombings(t uint, b []*game.Bombing) error
|
||||
SaveBombings(uint, []*game.Bombing) error
|
||||
|
||||
// SaveReport stores latest report for a race
|
||||
SaveReport(t uint, rep *report.Report) error
|
||||
SaveReport(uint, *report.Report) error
|
||||
}
|
||||
|
||||
type Controller struct {
|
||||
|
||||
@@ -25,7 +25,7 @@ func newGameOnMap(r Repo, races []string, m generator.Map) (uuid.UUID, error) {
|
||||
if err != nil {
|
||||
return uuid.Nil, err
|
||||
}
|
||||
if err := r.SaveTurn(0, g); err != nil {
|
||||
if err := r.SaveNewTurn(0, g); err != nil {
|
||||
return uuid.Nil, err
|
||||
}
|
||||
return g.ID, nil
|
||||
|
||||
@@ -108,7 +108,7 @@ func MakeTurn(c *Controller, r Repo) error {
|
||||
c.Cache.DeleteKilledShipGroups()
|
||||
|
||||
// Store game state for the new turn and 'current' state as well
|
||||
if err := r.SaveTurn(c.Cache.g.Turn, c.Cache.g); err != nil {
|
||||
if err := r.SaveNewTurn(c.Cache.g.Turn, c.Cache.g); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user