/// <summary>
 /// This overload is used when adding points to an existing Collection.
 /// </summary>
 /// <param name="worldEditor"></param>
 /// <param name="displayObject"></param>
 /// <param name="validate"></param>
 /// <param name="Complete"></param>
 /// <param name="points"></param>
 public MultiPointInsertHelper(WorldEditor worldEditor, DisplayObject displayObject, MultiPointInsertValidate validate, MultiPointInsertComplete complete, List <Vector3> points, int index)
 {
     app              = worldEditor;
     dragObject       = displayObject;
     completeCallback = complete;
     validateCallback = validate;
     this.points      = points;
     this.index       = index;
     dragHelper       = new DragHelper(app, dragObject, new DragComplete(DragCallback));
 }
 /// <summary>
 /// This overload is used when adding points to an existing Collection.
 /// </summary>
 /// <param name="worldEditor"></param>
 /// <param name="displayObject"></param>
 /// <param name="validate"></param>
 /// <param name="Complete"></param>
 /// <param name="points"></param>
 public MultiPointInsertHelper(WorldEditor worldEditor, DisplayObject displayObject, MultiPointInsertValidate validate, MultiPointInsertComplete complete, List<Vector3> points, int index)
 {
     app = worldEditor;
     dragObject = displayObject;
     completeCallback = complete;
     validateCallback = validate;
     this.points = points;
     this.index = index;
     dragHelper = new DragHelper(app, dragObject, new DragComplete(DragCallback));
 }
        /// <summary>
        /// Use this overload for placing points for roads and boundaries 
        /// </summary>
        /// <param name="worldEditor"></param>
        /// <param name="displayObject"></param>
        /// <param name="validate"></param>
        /// <param name="complete"></param>
        public MultiPointPlacementHelper(WorldEditor worldEditor, DisplayObject displayObject, MultiPointValidate validate, MultiPointComplete complete)
        {
            app = worldEditor;
            dragObject = displayObject;
            completeCallback = complete;
            validateCallback = validate;

            points = new List<Vector3>();

            dragHelper = new DragHelper(app, dragObject, new DragComplete(DragCallback));
        }
        /// <summary>
        /// Use this overload to place multiple Static Objects.  It allows the static objects placed to be placed on other objects.
        /// </summary>
        /// <param name="worldEditor"></param>
        /// <param name="displayObject"></param>
        /// <param name="validate"></param>
        /// <param name="complete"></param>
        public MultiPointPlacementHelper(WorldEditor worldEditor, MultiPointValidate validate, DisplayObject displayObject, MultiPointComplete complete)
        {
            app              = worldEditor;
            dragObject       = displayObject;
            completeCallback = complete;
            validateCallback = validate;

            points = new List <Vector3>();


            dragHelper = new DragHelper(app, new DragComplete(DragCallback), dragObject);
        }