debug logging and stuff
parent
5430213699
commit
98c15d6b5f
@ -1,14 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
// "fmt"
|
||||
"flag"
|
||||
"log/slog"
|
||||
"os"
|
||||
|
||||
"github.com/EngoEngine/ecs"
|
||||
// "code.ndumas.com/ndumas/muddy"
|
||||
|
||||
"code.ndumas.com/ndumas/muddy/systems"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var (
|
||||
level string
|
||||
)
|
||||
|
||||
flag.StringVar(&level, "level", "INFO", "Log level: INFO/info, DEBUG/debug, or ERROR/error")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
var logLevel slog.Level
|
||||
switch level {
|
||||
case "INFO", "info":
|
||||
logLevel = slog.LevelInfo
|
||||
case "DEBUG", "debug":
|
||||
logLevel = slog.LevelDebug
|
||||
case "ERROR", "error":
|
||||
logLevel = slog.LevelError
|
||||
}
|
||||
|
||||
l := slog.New(slog.NewJSONHandler(
|
||||
os.Stderr, &slog.HandlerOptions{
|
||||
Level: logLevel,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
world := ecs.World{}
|
||||
|
||||
rs := &systems.RoomSystem{
|
||||
Rooms: make(map[uint64]*systems.Room, 0),
|
||||
L: l.WithGroup("rooms"),
|
||||
}
|
||||
|
||||
world.AddSystem(rs)
|
||||
world.Update(1)
|
||||
|
||||
l.With(
|
||||
slog.Int("room count", len(rs.Rooms)),
|
||||
).Info("setup complete")
|
||||
}
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
package systems
|
||||
|
||||
import (
|
||||
// "fmt"
|
||||
|
||||
"github.com/EngoEngine/ecs"
|
||||
|
||||
"code.ndumas.com/ndumas/muddy/components"
|
||||
)
|
||||
|
||||
type Room struct {
|
||||
components.ID
|
||||
components.Location
|
||||
components.Observable
|
||||
components.Inventory
|
||||
}
|
||||
|
||||
type RoomRepository interface {
|
||||
Get(int64) (Room, error)
|
||||
GetAll() ([]Room, error)
|
||||
Delete(int64) error
|
||||
}
|
||||
|
||||
type RoomSystem struct {
|
||||
repository RoomRepository
|
||||
}
|
||||
|
||||
func (rs *RoomSystem) Update(dt float32) {}
|
||||
func (rs *RoomSystem) Remove(e ecs.BasicEntity) {}
|
||||
Loading…
Reference in New Issue