27 lines
783 B
Go
27 lines
783 B
Go
package storage
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
)
|
|
|
|
const (
|
|
// Name of the file under the storage's root where [model.State] is stored.
|
|
stateFileName = "state.dat"
|
|
|
|
// Suffix of a Game's file inder the storage's root where [model.GameData] is stored.
|
|
gameDataFileSuffix = ".dat"
|
|
)
|
|
|
|
// StateFilePath returns client's state file path relative to the root,
|
|
// file name and extension are pre-defined constant.
|
|
func StateFilePath(root string) string {
|
|
return filepath.Join(root, stateFileName)
|
|
}
|
|
|
|
// GameDataPath returns game's data file path relative to the root,
|
|
// data file name is GameID string representation and extension is a pre-defined constant.
|
|
func GameDataFilePath(root string, id fmt.Stringer) string {
|
|
return filepath.Join(root, id.String()) + gameDataFileSuffix
|
|
}
|