Animation SpriteImporter::generateAnimation(const String& spriteName, const String& spriteSheetName, const String& materialName, const std::vector<ImageData>& frameData) { Animation animation; animation.setName(spriteName); animation.setMaterialName(materialName); animation.setSpriteSheetName(spriteSheetName); std::map<String, AnimationSequence> sequences; animation.addDirection(AnimationDirection("right", "forward", false, 0)); animation.addDirection(AnimationDirection("left", "forward", true, 0)); for (auto& frame: frameData) { auto i = sequences.find(frame.sequenceName); if (i == sequences.end()) { sequences[frame.sequenceName] = AnimationSequence(frame.sequenceName, true, false); } auto& seq = sequences[frame.sequenceName]; seq.addFrame(AnimationFrameDefinition(frame.frameNumber, frame.duration, frame.filenames.at(0))); } for (auto& seq: sequences) { animation.addSequence(seq.second); } return animation; }