26 lines
694 B
C++
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
|