导出数据转spine

This commit is contained in:
tianmo committed 2026-09-07 21:29:15 +08:00
1 parent d258d4f435
commit 3a7c0b4092
65 files changed
+6000

No files matched your search

@@ -0,0 +1,56 @@
#pragma once
#include <QObject>
#include <QString>
#include <memory>
class QProcess;
class QTemporaryDir;
namespace dts {
struct ConversionRequest {
QString editorPath;
QString editorVersion;
QString skeletonPath;
QString atlasPath;
QString outputParent;
QString assetName;
bool unpremultiplyAlpha = false;
};
class ConversionJob final : public QObject {
Q_OBJECT
public:
explicit ConversionJob(ConversionRequest request, QObject* parent = nullptr);
~ConversionJob() override;
void start();
signals:
void finished(bool success, const QString& outputDirectory, const QString& error);
private:
enum class Stage { Preparing, Unpacking, Importing, Publishing, Done };
bool prepare(QString& error);
bool writeUnpackAtlas(QString& error);
bool hasUnpackedImages() const;
void startUnpack();
void startImport();
void processFinished(int exitCode);
void fail(const QString& reason);
void publish();
ConversionRequest request_;
Stage stage_ = Stage::Preparing;
std::unique_ptr<QTemporaryDir> staging_;
QProcess* process_ = nullptr;
QString finalDirectory_;
QString projectPath_;
QString unpackAtlasPath_;
QString importScale_;
};
} // namespace dts