#ifndef ALIENS_H
#define ALIENS_H

#include "base_types.h"
#include "map.h"

#include <QGraphicsScene>
#include <QGraphicsItemGroup>

class Aliens : public QObject
{
Q_OBJECT
public:
    explicit Aliens(Map * map, QObject *parent = 0);
    void addAlien(int srcId);
    void update();
    void setScene(QGraphicsScene * scene_) {scene = scene_;}
    QList <srcAlienType> srcAliens;
    QHash <int,AlienType> curAliens;
    int missingAliens() {return m_missingAliens;}

signals:
    void alien_killed(int id, bool missed);

public slots:
    void delAlien(int id, bool missed = false);
    void retrace(bool * OK);

private:
    Map * map;
    QGraphicsScene * scene;

    QPointF globStart;
    QPointF globFinish;
    int nextId;
    int m_missingAliens;

};

#endif // ALIENS_H
