2017-11-11 00:38:31 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Component.h"
|
|
|
|
#include <map>
|
|
|
|
#include <QTimer>
|
|
|
|
#include <QList>
|
|
|
|
#include <QMap>
|
|
|
|
|
|
|
|
class MinecraftInstance;
|
|
|
|
using ComponentContainer = QList<ComponentPtr>;
|
|
|
|
using ComponentIndex = QMap<QString, ComponentPtr>;
|
|
|
|
|
2020-06-27 10:02:31 +00:00
|
|
|
struct PackProfileData
|
2017-11-11 00:38:31 +00:00
|
|
|
{
|
2018-07-15 12:51:05 +00:00
|
|
|
// the instance this belongs to
|
|
|
|
MinecraftInstance *m_instance;
|
2017-11-11 00:38:31 +00:00
|
|
|
|
2018-07-15 12:51:05 +00:00
|
|
|
// the launch profile (volatile, temporary thing created on demand)
|
|
|
|
std::shared_ptr<LaunchProfile> m_profile;
|
2017-11-11 00:38:31 +00:00
|
|
|
|
2018-07-15 12:51:05 +00:00
|
|
|
// version information migrated from instance.cfg file. Single use on migration!
|
|
|
|
std::map<QString, QString> m_oldConfigVersions;
|
|
|
|
QString getOldConfigVersion(const QString& uid) const
|
|
|
|
{
|
|
|
|
const auto iter = m_oldConfigVersions.find(uid);
|
|
|
|
if(iter != m_oldConfigVersions.cend())
|
|
|
|
{
|
|
|
|
return (*iter).second;
|
|
|
|
}
|
|
|
|
return QString();
|
|
|
|
}
|
2017-11-11 00:38:31 +00:00
|
|
|
|
2018-07-15 12:51:05 +00:00
|
|
|
// persistent list of components and related machinery
|
|
|
|
ComponentContainer components;
|
|
|
|
ComponentIndex componentIndex;
|
|
|
|
bool dirty = false;
|
|
|
|
QTimer m_saveTimer;
|
|
|
|
shared_qobject_ptr<Task> m_updateTask;
|
|
|
|
bool loaded = false;
|
2019-07-15 21:16:34 +00:00
|
|
|
bool interactionDisabled = true;
|
2017-11-11 00:38:31 +00:00
|
|
|
};
|
|
|
|
|