#pragma once

#include "Common.h"
#include "the.h"
namespace UAlbertaBot
{
class LocutusUnit
{
	The &			the;

    //BWAPI::Unit     unit;

    // Used for pathing
    BWAPI::Position                     targetPosition;
    BWAPI::Position                     currentlyMovingTowards;
    std::deque<const BWEM::ChokePoint*> waypoints;
    
    //int                                 lastMoveFrame;

    // Used for various things, like detecting stuck goons and updating our collision matrix
    //BWAPI::Position lastPosition;

	void moveToNextWaypoint(BWAPI::Unit unit);
    //void moveToNextWaypoint();

public:
	LocutusUnit();
	

	bool moveTo(BWAPI::Unit unit,BWAPI::Position position);
	//bool moveTo(BWAPI::Position position, bool avoidNarrowChokes = false);
	//void Move(BWAPI::Unit attacker, const BWAPI::Position & targetPosition);
	static LocutusUnit & Instance();//@zhang 2019Äê9ÔÂ4ÈÕ15:42:53

};
}