Use options struct for FlamePackExportTask

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad
2025-05-03 13:32:11 +01:00
parent 29d867cb88
commit 13f533801b
5 changed files with 87 additions and 95 deletions

View File

@ -19,23 +19,26 @@
#pragma once
#include "BaseInstance.h"
#include "MMCZip.h"
#include "minecraft/MinecraftInstance.h"
#include "modplatform/flame/FlameAPI.h"
#include "tasks/Task.h"
struct FlamePackExportOptions {
QString name;
QString version;
QString author;
bool optionalFiles;
MinecraftInstancePtr instance;
QString output;
MMCZip::FilterFileFunction filter;
int recommendedRAM;
};
class FlamePackExportTask : public Task {
Q_OBJECT
public:
FlamePackExportTask(const QString& name,
const QString& version,
const QString& author,
bool optionalFiles,
InstancePtr instance,
const QString& output,
MMCZip::FilterFileFunction filter,
int recommendedRAM);
FlamePackExportTask(FlamePackExportOptions&& options);
protected:
void executeTask() override;
@ -46,14 +49,6 @@ class FlamePackExportTask : public Task {
static const QStringList FILE_EXTENSIONS;
// inputs
const QString name, version, author;
const bool optionalFiles;
const InstancePtr instance;
MinecraftInstance* mcInstance;
const QDir gameRoot;
const QString output;
const MMCZip::FilterFileFunction filter;
const int m_recommendedRAM;
struct ResolvedFile {
int addonId;
@ -72,6 +67,9 @@ class FlamePackExportTask : public Task {
bool isMod;
};
FlamePackExportOptions m_options;
QDir m_gameRoot;
FlameAPI api;
QFileInfoList files;