public MovementNode(Vector2D position, double facingAngle, double desiredSpeed, Vector2D goal, int depth)
{
position_ = position;
facingAngle_ = facingAngle;
desiredSpeed_ = desiredSpeed;
goal_ = goal;
distanceToGoal_ = Vector2D.Distance(position_, goal_);
bestBranchDistanceToGoal_ = distanceToGoal_;
depth_ = depth;
children_ = new List <MovementNode>();
markedForDeletion_ = false;
GeneratedChildren = false;
}