#ifndef ALIENS_H
#define ALIENS_H

#include "basestruct.h"
//#include <vector>

class Aliens
{
    public:
        Aliens(int TmpDestx, int TmpDesty, int afw, int afh, int alcellsize);

        QVector<Alien> srcAliens;
        QVector<Alien> curAliens;
        int ** Cells;
        int CurWave;
        //bool PathIntersect(Alien* Al, Rectangle rect);

        bool AddAlien();
        void clearAliens();
        void clearCells();
        bool recreatePath();
        void updateAliens();
        QVector<AlienImages> AliensPixmaps;
    private:
        int cellsize;
        int ** TmpCells;
        int fw, fh;
        QPoint DestPoint;
        bool WaveTrace(Alien* al);
        bool CreatePath(Alien* al);
        void InvWaveTrace(QPoint cp, int cnt, Alien* al);
        void updateAlienPos(Alien * al);
        int loadPixmap(int PicType, AlienImages * pixmaps);
        bool loadPixmaps(Alien * al);
};

#endif // ALIENS_H
