You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1007 B
Go

package savedata
import (
"fmt"
"github.com/pagefaultgames/rogueserver/db"
"github.com/pagefaultgames/rogueserver/defs"
)
func GetSession(uuid []byte, slot int) (defs.SessionSaveData, error) {
var session defs.SessionSaveData
if slot < 0 || slot >= defs.SessionSlotCount {
return session, fmt.Errorf("slot id %d out of range", slot)
}
var err error
session, err = db.ReadSessionSaveData(uuid, slot)
if err != nil {
return session, err
}
return session, nil
}
func PutSession(uuid []byte, slot int, data defs.SessionSaveData) error {
if slot < 0 || slot >= defs.SessionSlotCount {
return fmt.Errorf("slot id %d out of range", slot)
}
err := db.StoreSessionSaveData(uuid, data, slot)
if err != nil {
return err
}
return nil
}
func DeleteSession(uuid []byte, slot int) error {
if slot < 0 || slot >= defs.SessionSlotCount {
return fmt.Errorf("slot id %d out of range", slot)
}
err := db.DeleteSessionSaveData(uuid, slot)
if err != nil {
return err
}
return nil
}