#ifndef ADCORE_H
#define ADCORE_H

#include <QThread>

#include "aliens.h"
#include "towers.h"
#include "splashes.h"
#include "loader.h"

class AD_Core : public QThread
{
    Q_OBJECT
public:
    explicit AD_Core(QObject *parent = 0);
    Game_Data * addata;
    Towers * adtowers;
    Splashes * adsplashes;
    long int step;

    void setScene(QGraphicsScene * scene);
    bool isWaveEnd() {return waveEnd;}
    void setSpeed(float x);

public slots:
    void next();
    void nextWave();

private:
    void timerEvent(QTimerEvent * );
    void waveProcessing();

    bool waveInProgress;
    bool waveEnd;
    int wavetime;
    int timer;

private slots:
    void killAlien(int playerId, int alienId);

signals:

};

#endif // ADCORE_H
