2017-11-11 06:08:31 +05:30
|
|
|
#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 15:32:31 +05:30
|
|
|
struct PackProfileData
|
2017-11-11 06:08:31 +05:30
|
|
|
{
|
2018-07-15 18:21:05 +05:30
|
|
|
// the instance this belongs to
|
|
|
|
MinecraftInstance *m_instance;
|
2017-11-11 06:08:31 +05:30
|
|
|
|
2018-07-15 18:21:05 +05:30
|
|
|
// the launch profile (volatile, temporary thing created on demand)
|
|
|
|
std::shared_ptr<LaunchProfile> m_profile;
|
2017-11-11 06:08:31 +05:30
|
|
|
|
2018-07-15 18:21:05 +05:30
|
|
|
// persistent list of components and related machinery
|
|
|
|
ComponentContainer components;
|
|
|
|
ComponentIndex componentIndex;
|
|
|
|
bool dirty = false;
|
|
|
|
QTimer m_saveTimer;
|
2021-11-22 04:06:55 +05:30
|
|
|
Task::Ptr m_updateTask;
|
2018-07-15 18:21:05 +05:30
|
|
|
bool loaded = false;
|
2019-07-16 02:46:34 +05:30
|
|
|
bool interactionDisabled = true;
|
2017-11-11 06:08:31 +05:30
|
|
|
};
|
|
|
|
|