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.NewTextHandler( os.Stderr, &slog.HandlerOptions{ Level: logLevel, }, ), ) world := ecs.World{} rs := &systems.RoomSystem{ Rooms: make(map[uint64]*systems.Room, 0), L: l.With(slog.String("system", "room")), } world.AddSystem(rs) l.With( slog.Int("room count", len(rs.Rooms)), ).Info("setup complete") world.Update(1) }