//
// Created by martin on 26.03.23.
//

#ifndef ANIMTESTBED_SKINNEDMESHRESOURCE_H
#define ANIMTESTBED_SKINNEDMESHRESOURCE_H

#include <string>
#include <vector>

#include "SyncTrack.h"
#include "SkinnedMesh.h"

struct SkinnedMeshResource {
  std::string m_resource_file;
  std::string m_skeleton_file;
  std::vector<std::string> m_animation_files;
  std::vector<SyncTrack> m_sync_tracks;

  bool saveToFile(const char* filename) const;
  bool loadFromFile(const char* filename);

  void createInstance(SkinnedMesh& skinnedMesh) const;
};

#endif  //ANIMTESTBED_SKINNEDMESHRESOURCE_H
