/// <summary>
 /// constructeur
 /// </summary>
 /// <param name="point"> coordonnée </param>
 public Square(Point point)
 {
     this._point = point;
     this._isStartPoint = false;
     this._concreteEntity = null;
     this._wall = false;
 }
 /// <summary>
 /// Affecte la source
 /// </summary>
 /// <param name="e">Entité source</param>
 public void setSourceEntity(ConcreteEntity e)
 {
     this._source = e;
 }
 /// <summary>
 /// reception de la target destination
 /// </summary>
 /// <param name="it"> Target destination </param>
 public void setTarget(ITarget it)
 {
     this._source = (ConcreteEntity)it;
 }
 /// <summary>
 /// ajout une nouvelle ressource à la liste des Ressource
 /// </summary>
 /// <param name="cr"></param>
 public void addConcreteResource(ConcreteEntity cr)
 {
     this._RessourceArray.Add(cr);
 }
 /// <summary>
 /// Reception de la concrete entité
 /// </summary>
 /// <param name="entity"> Concrete entité </param>
 public void setSource(ConcreteEntity entity)
 {
     this._source = entity;
 }
 public void setSourceEntity(ConcreteEntity e)
 {
     this._source = (PlayableConcreteEntity)e;
 }
 /// <summary>
 /// Récupère la position
 /// </summary>
 /// <param name="e">L'entité</param>
 /// <returns>La position</returns>
 public Point? getPosition(ConcreteEntity e)
 {
     foreach (ConcreteEntity ent in _ListEntity)
     {
         if (ent.Equals(e))
         {
             return e.Position;
         }
     }
     return null;
 }
 /// <summary>
 /// Effectuer une action
 /// </summary>
 /// <param name="action">Le numéro de l'action</param>
 /// <param name="e">L'entité</param>
 /// <param name="target">La source</param>
 public void doAction(UInt16 action, ConcreteEntity e, ITarget target)
 {
     e.doAction(action, target);
 }
 /// <summary>
 /// Ajoute une entité
 /// </summary>
 /// <param name="sq">Les emplacements occupés</param>
 /// <param name="ce">L'entité</param>
 public void addConcreteEntity(List<Square> sq, ConcreteEntity ce)
 {
     //définir par rapport à la position la liste des position possible
     //ce.setSquare(sq);
     foreach(Square s in sq)
         s.Entity = ce;
     this._ListEntity.Add(ce);
 }