moth/cmd/mothd/common.go

44 lines
713 B
Go
Raw Normal View History

2019-09-02 18:42:27 -06:00
package main
import (
"io"
2019-09-02 19:47:24 -06:00
"time"
2019-09-02 18:42:27 -06:00
)
type Category struct {
2020-02-29 22:37:22 -07:00
Name string
Puzzles []int
2019-09-02 19:47:24 -06:00
}
type ReadSeekCloser interface {
io.Reader
io.Seeker
io.Closer
2019-09-02 18:42:27 -06:00
}
2019-09-02 19:47:24 -06:00
type PuzzleProvider interface {
Metadata(cat string, points int) (io.ReadCloser, error)
Open(cat string, points int, path string) (io.ReadCloser, error)
Inventory() []Category
}
type ThemeProvider interface {
Open(path string) (ReadSeekCloser, error)
ModTime(path string) (time.Time, error)
}
2020-02-29 22:37:22 -07:00
type StateExport struct {
Messages string
TeamNames map[string]string
PointsLog []Award
}
type StateProvider interface {
2020-02-29 22:37:22 -07:00
Export(teamId string) *StateExport
SetTeamName(teamId, teamName string) error
}
type Component interface {
Update()
}