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.
53 lines
825 B
Go
53 lines
825 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log/slog"
|
|
"os"
|
|
|
|
"github.com/EngoEngine/ecs"
|
|
|
|
"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")
|
|
}
|