#ifndef LOADSCENEDATATHREAD_H
#define LOADSCENEDATATHREAD_H

#include <QObject>
#include "scenecontrol.h"
#include <QStringList>
#include <QMutex>

class LoadSceneDataThread : public QObject
{
    Q_OBJECT
public:
    explicit LoadSceneDataThread(QObject *parent = nullptr);

    //执行子线程业务逻辑
    void working();
public slots:
    //接收数据开始工作
    void receiveFileList(SceneControl* pSceneControl,UGDataSource* pDataSource,QStringList imagePathList,QStringList terrianPathList);

signals:
//    void taskFinish();
    void sendTaskFinishedCount(int imageFinishedCount,int imageTotalCount,int terrianFinishedCount,int terrianTotalCount);

private:
    SceneControl* pSceneControl;
    UGDataSource* pDataSource;
    UGString datasourceName;

    QStringList imagePathList;
    QStringList terrianPathList;

    QMutex m_mutex;

};

#endif // LOADSCENEDATATHREAD_H