#pragma once

#include "CStepBase.h"

struct MyData
{
	UINT m_nCurrBondDieIndex;
	UINT m_nCurrBondHeadId;

	template <class Archive>
	void serialize(Archive& ar)
	{
		ar(cereal::make_nvp("CurrBondDieIndex", m_nCurrBondDieIndex)
			, cereal::make_nvp("CurrBondHeadId", m_nCurrBondHeadId)
		);
	}
};


//��Ƭ̨ȡ��
class  __declspec(dllexport) CStepWaferPick :  public CStepBase
{

private:
	MyData m_MyData;

private:
	UINT m_nCurrDieIndex = 0;  //��ǰ�̾���
	UINT m_nNeedBondDieNum = 0;			//�����̹߳̾���
	UINT m_nPickedNum = 0;				//�Ѿ�ʰȡ����


private:
	//������
	//virtual LONG CheckParameter() override;
	//Ԥ���������ڼ��Step����ǰ��ǰ������
	virtual LONG Pretreatment() override;
	//����Step����
	virtual LONG Run() override;
	//���ݱ��棬����Step���к�����ݱ���
	//virtual LONG PostData() override;

public:
	CStepWaferPick();
	//CStepWaferPick(UINT nBondDieIndex);

};