You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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