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.

26 lines
694 B
C++

#ifndef ABSTRACTSCENECONTROL_H
#define ABSTRACTSCENECONTROL_H
#include <memory>
#include <QGraphicsWidget>
/* QWAbstractSceneControl
* Interface for scene graphics elements which have
* to manipulate non-logic game processes like sound, view, etc. */
struct GameFeatures;
class QWStateMachine;
class QWAbstractSceneControl : public QGraphicsWidget
{
public:
QWAbstractSceneControl();
~QWAbstractSceneControl() = 0;
virtual void onClick() = 0;
virtual void onConnect(std::unique_ptr<GameFeatures> &game_features) = 0;
virtual void onBuildingStateMachine(QWStateMachine *state_machine, std::unique_ptr<GameFeatures> &game_features);
};
#endif // ABSTRACTSCENECONTROL_H