tables.sbn 764 B

123456789101112131415161718192021222324252627282930313233
  1. {{~if __namespace != ''~}}
  2. package {{__namespace}};
  3. {{~end~}}
  4. import (
  5. "{{__luban_module_name}}"
  6. "errors"
  7. )
  8. type ByteBufLoader func(string) (*luban.ByteBuf, error)
  9. type {{__name}} struct {
  10. {{~for table in __tables ~}}
  11. {{table.name}} *{{full_name table}}
  12. {{~end~}}
  13. }
  14. func NewTables(loader ByteBufLoader) (*{{__name}}, error) {
  15. var err error
  16. var buf *luban.ByteBuf
  17. tables := &{{__name}}{}
  18. {{~for table in __tables ~}}
  19. if buf, err = loader("{{table.output_data_file}}") ; err != nil {
  20. return nil, err
  21. }
  22. if tables.{{table.name}}, err = New{{full_name table}}(buf) ; err != nil {
  23. return nil, errors.Join(errors.New("failed to load {{table.name}}"), err)
  24. }
  25. {{~end~}}
  26. return tables, nil
  27. }