Refactor into server object to handle registered accounts

This commit is contained in:
Marc Di Luzio 2020-05-31 11:18:26 +01:00
parent eccb726f74
commit 93decc027b
13 changed files with 304 additions and 128 deletions

33
pkg/game/world.go Normal file
View file

@ -0,0 +1,33 @@
package game
import "github.com/google/uuid"
// World describes a self contained universe and everything in it
type World struct {
instances []Instance
}
// Instance describes a single entity or instance of an entity in the world
type Instance struct {
id uuid.UUID
}
// NewWorld creates a new world object
func NewWorld() *World {
return &World{}
}
// Adds an instance to the game
func (w *World) CreateInstance() uuid.UUID {
id := uuid.New()
// Initialise the instance
instance := Instance{
id: id,
}
// Append the instance to the list
w.instances = append(w.instances, instance)
return id
}