#pragma once
#include "TaskBase.h"
#include "BuildOrderTemplate.h"

class ResearchTask : public TaskBase {



public:
	ResearchTask(BWAPI::UpgradeType up, Overseer* ov);
	ResearchTask(BWAPI::TechType up, Overseer* ov);

	virtual bool canInitialize();
	virtual bool execute();
	virtual void monitor();
	virtual bool isExecuting();
	virtual bool isFinished();
	virtual bool isInitialized();
	virtual UnitType getBuildType() { return type; };
	virtual void setTargetBase(BaseModel* b) { };

private:
	BWAPI::UpgradeType upgType;
	BWAPI::TechType tecType;

protected:

};
