#ifndef SQUARENODEOWNER_H
#define SQUARENODEOWNER_H

#include "SquareNode.h"

#include "MemoryManager/debugNew.h"


namespace ground{
	/**
	 * classe definissant un possesseur de SquareNode (typiquement une case du terrain)
	 *
	 * Cette classe est utilisé par les cases du terrain pour pouvoir recuperer le noeud du graph sur
	 * lequel est situé la case, ainsi, le path finder peut facilement retrouver les noeud du graph
	 * juste en connaissant les cases.
	 */
	class SquareNodeOwner{
	public:
		/**
		 * methode permettant de definir le SquareNode possedé
		 * @param area : le SquareNode possedé.
		 */
		virtual void setSquareNode(SquareNode* node) = 0;
		/**
		 * methode permettant de recuperer le SquareNode possédé.
		 * @return SquareNode : le SquareNode possédé.
		 */
		virtual SquareNode* getSquareNode() = 0;
	};


};// namespace ground

#include "MemoryManager/debugNewOff.h"


#endif
