summaryrefslogtreecommitdiff
path: root/src/plugincontainer.h
diff options
context:
space:
mode:
authorMikaƫl Capelle <capelle.mikael@gmail.com>2024-06-09 12:18:17 +0200
committerGitHub <noreply@github.com>2024-06-09 12:18:17 +0200
commit88c386d74d7d94ec16d4d84ed674eb51e31647ac (patch)
treeadf0b2537f12d11d8df77f68a84926d15b063554 /src/plugincontainer.h
parentc43535f5bcf1043c3b9c00c77967267cf1acf60f (diff)
Refactoring of game features for better management. (#2043)
Diffstat (limited to 'src/plugincontainer.h')
-rw-r--r--src/plugincontainer.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/plugincontainer.h b/src/plugincontainer.h
index d5ceca72..4854954d 100644
--- a/src/plugincontainer.h
+++ b/src/plugincontainer.h
@@ -24,6 +24,8 @@ class IUserInterface;
#include <memory>
#include <vector>
+#include "game_features.h"
+
class OrganizerProxy;
/**
@@ -279,7 +281,7 @@ public:
/**
* @return the IPlugin interface to the currently managed game.
*/
- MOBase::IPlugin* managedGame() const;
+ MOBase::IPluginGame* managedGame() const;
/**
* @brief Check if the given plugin is enabled.
@@ -338,9 +340,14 @@ public:
QString topImplementedInterface(MOBase::IPlugin* plugin) const;
/**
+ * @return the game features.
+ */
+ GameFeatures& gameFeatures() const { return *m_GameFeatures; }
+
+ /**
* @return the preview generator.
*/
- const PreviewGenerator& previewGenerator() const;
+ const PreviewGenerator& previewGenerator() const { return m_PreviewGenerator; }
/**
* @return the list of plugin file names, including proxied plugins.
@@ -476,6 +483,9 @@ private:
// Main user interface, can be null until MW has been initialized.
IUserInterface* m_UserInterface;
+ // Game features
+ std::unique_ptr<GameFeatures> m_GameFeatures;
+
PluginMap m_Plugins;
// This maps allow access to IPlugin* from name or diagnose/mapper object.