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") }