#pragma once #include "Component.h" #include #include #include #include class MinecraftInstance; using ComponentContainer = QList; using ComponentIndex = QMap; struct PackProfileData { // the instance this belongs to MinecraftInstance *m_instance; // the launch profile (volatile, temporary thing created on demand) std::shared_ptr m_profile; // persistent list of components and related machinery ComponentContainer components; ComponentIndex componentIndex; bool dirty = false; QTimer m_saveTimer; Task::Ptr m_updateTask; bool loaded = false; bool interactionDisabled = true; };