#ifndef HOTSEATGAME_H
#define HOTSEATGAME_H

#include <QWidget>
#include "gui/scene.h"

#include "hotseatgame/gamemanager.h"
#include "hotseatgame/gameproperties.h"

namespace Ui {
class HotSeatGame;
}

class HotSeatGame;

class DrawSceneEventListener : public QObject
{
    Q_OBJECT
public:
    DrawSceneEventListener(HotSeatGame* scene, QObject *parent = nullptr);
    virtual bool eventFilter(QObject * watched, QEvent * event) Q_DECL_OVERRIDE;
signals:

public slots:
private:
    HotSeatGame* scene_;
};


class HotSeatGame : public Scene
{
    Q_OBJECT

public:
    explicit HotSeatGame(QWidget *parent = 0);
    ~HotSeatGame();

    void init() override;
    void deinit() override;

private slots:
    void on_surrender_button__clicked();

    void drawField();

private:
    void paintField();

    QGraphicsScene *game_scene_;
    Ui::HotSeatGame *ui;
    DrawSceneEventListener *game_scene_watcher_;
};

#endif // HOTSEATGAME_H
