package main import ( "fmt" "log" "os" "path/filepath" ) func main() { c := &Catalog{} _, err := os.Stat("content") if err != nil { os.Mkdir("content", 0775) _, err = os.Stat(filepath.Join("content", "tiles")) if err != nil { os.Mkdir(filepath.Join("content", "tiles"), 0775) } err = c.MakeTemplate(filepath.Join("content", "tiles", "0_template.json")) if err != nil { log.Printf("MakeTemplate: %v", err) return } } err = c.LoadFile(filepath.Join("content", "tiles", "0_template.json")) if err != nil { _, err = os.Stat(filepath.Join("content", "tiles")) if err != nil { os.MkdirAll(filepath.Join("content", "tiles"), 0775) } err = c.MakeTemplate(filepath.Join("content", "tiles", "0_template.json")) if err != nil { log.Printf("MakeTemplate: %v", err) return } err = c.LoadFile(filepath.Join("content", "tiles", "0_template.json")) if err != nil { log.Printf("LoadFile: %v", err) return } } fmt.Printf("Tiles: %d\n", len(c.Tiles)) for idx, t := range c.Tiles { switch t.Type() { case BasicTile: fmt.Printf(" %3d %s\n", idx, t.Name()) case AnimatedTile: fmt.Printf("A %3d %s\n", idx, t.Name()) } } }