towards generation

This commit is contained in:
Ilia Denisov
2023-08-08 21:57:53 +03:00
parent d95ecbc20c
commit ffecb5d90c
9 changed files with 193 additions and 96 deletions
+11 -7
View File
@@ -1,11 +1,11 @@
package storage
import "github.com/iliadenisov/galaxy/pkg/server"
import "github.com/iliadenisov/galaxy/pkg/game"
// games/
// data.json - id, name, turn, schedule, status
// game123/
// racelist/<race_id>/data.json - account_id, name, status, war/peace(?), last_order, etc.
// race/<race_id>/data.json - account_id, name, status, war/peace(?), last_order, etc.
// order/<turn>/<race_id>/0.json - incoming orders
// turn/12/log/ - ?
// turn/12/order/<race_id>/0.json - processed orders
@@ -16,11 +16,15 @@ import "github.com/iliadenisov/galaxy/pkg/server"
// turn/12/battle/<planet_id>/<battle_number>.json
type Storage interface {
ListGames() ([]server.GameIdentifier, error)
GenerateRaceId() game.RaceIdentifier
GenerateGameId() game.GameIdentifier
LoadRace(game_id server.GameIdentifier, race_id server.RaceIdentifier) (server.Race, error)
SaveRace(game_id server.GameIdentifier, race server.Race) error
CreateGame(game.GameParameter) (game.Game, error)
ListGames() ([]game.GameIdentifier, error)
LoadState(game_id server.GameIdentifier) (server.Game, error)
SaveState(game server.Game) error
LoadRace(game_id game.GameIdentifier, race_id game.RaceIdentifier) (game.Race, error)
SaveRace(game_id game.GameIdentifier, race game.Race) error
LoadState(game_id game.GameIdentifier) (game.Game, error)
SaveState(game game.Game) error
}