42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
#ifndef GAMEFEATURES_H
|
|
#define GAMEFEATURES_H
|
|
|
|
#include "game.h"
|
|
|
|
#include "qw_levelbuilder.h"
|
|
#include "qw_soundplayer.h"
|
|
#include "qw_inventorymanager.h"
|
|
#include "qw_textdialoguemanager.h"
|
|
#include "qw_widgetdialoguemanager.h"
|
|
#include "view/qw_view.h"
|
|
|
|
/* GameFeatures
|
|
* The package of all key in-game managers. This way they are easy to transport. */
|
|
|
|
struct GameFeatures final
|
|
{
|
|
public:
|
|
QWView *ptr_view;
|
|
QWScene *ptr_scene;
|
|
QWSoundPlayer *ptr_sound_player;
|
|
QWInventoryManager *ptr_inventory;
|
|
QWLevelBuilder *ptr_builder;
|
|
QWTextDialogueManager *ptr_text_dlg;
|
|
QWWidgetDialogueManager *ptr_widget_dlg;
|
|
|
|
explicit GameFeatures(Game *ptr_game)
|
|
{
|
|
ptr_scene = new QWScene(1280, 720);
|
|
ptr_view = new QWView(ptr_scene);
|
|
ptr_sound_player = new QWSoundPlayer(ptr_game);
|
|
ptr_inventory = new QWInventoryManager(ptr_scene);
|
|
ptr_builder = new QWLevelBuilder(ptr_game);
|
|
ptr_text_dlg = new QWTextDialogueManager(ptr_scene);
|
|
ptr_widget_dlg = new QWWidgetDialogueManager(ptr_scene);
|
|
}
|
|
|
|
~GameFeatures() = default;
|
|
};
|
|
|
|
#endif // GAMEFEATURES_H
|