/// <summary>
 /// Initializes a new instance of the <see cref="MovingObstacle"/> class.
 /// </summary>
 /// <param name="position">The initial position.</param>
 /// <param name="type">The type of the obstacle.</param>
 public MovingObstacle(GridPosition position, MovingObstacleType type)
     : base(position)
 {
     this.type = type;
     this.PossibleMovements = MovementAction.VonNeumannNeighbourhoodMovements();
     EpisodeManager.AddEpisodeChangesReceiver(this);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MovingObstacle"/> class.
 /// </summary>
 /// <param name="x">The iniital x-position.</param>
 /// <param name="y">The initial y-position.</param>
 /// <param name="type">The type of the obstacle.</param>
 public MovingObstacle(uint x, uint y, MovingObstacleType type)
     : this(new GridPosition((int)x, (int)y), type)
 {
 }