public ManagedPokemonCatalog(ByteBuffer bb) { var catalog = PokemonCatalog.GetRootAsPokemonCatalog(bb); Unknown1 = catalog.Details.GetValueOrDefault().Unknown1; Unknown2 = catalog.Details.GetValueOrDefault().Unknown2; Entries = Enumerable.Range(0, catalog.EntriesLength).Select(i => new ManagedPokemonCatalogEntry(catalog.Entries(i).GetValueOrDefault())).ToList(); }
public Span <byte> Save() { var builder = new FlatBufferBuilder(1); builder.Finish(PokemonCatalog.CreatePokemonCatalog(builder, PokemonCatalogDetails.CreatePokemonCatalogDetails(builder, Unknown1, Unknown2), PokemonCatalog.CreateEntriesVector(builder, Entries.Select(entry => { var newEntrydetails = PokemonCatalogEntryDetails.CreatePokemonCatalogEntryDetails(builder, entry.Metadata.Id, entry.Metadata.Variant, entry.Metadata.Gender, entry.Metadata.Shiny); return(PokemonCatalogEntry.CreatePokemonCatalogEntry(builder, newEntrydetails, builder.CreateString(entry.ModelPath), builder.CreateString(entry.ConfigurationPath), builder.CreateString(entry.PackagePath), PokemonCatalogEntry.CreateAnimationConfigurationsVector(builder, entry.AnimationSets.Select(y => PokemonCatalogEntryAnimationConfig.CreatePokemonCatalogEntryAnimationConfig(builder, builder.CreateString(y.Key), builder.CreateString(y.Value))).ToArray()))); }).ToArray())).Value); return(builder.SizedByteArray()); }