31 lines
		
	
	
		
			717 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			717 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "Component.h"
 | |
| #include <map>
 | |
| #include <QTimer>
 | |
| #include <QList>
 | |
| #include <QMap>
 | |
| 
 | |
| class MinecraftInstance;
 | |
| using ComponentContainer = QList<ComponentPtr>;
 | |
| using ComponentIndex = QMap<QString, ComponentPtr>;
 | |
| 
 | |
| struct PackProfileData
 | |
| {
 | |
|     // the instance this belongs to
 | |
|     MinecraftInstance *m_instance;
 | |
| 
 | |
|     // the launch profile (volatile, temporary thing created on demand)
 | |
|     std::shared_ptr<LaunchProfile> 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;
 | |
| };
 | |
| 
 |