/// <summary>
 /// This item is dragged
 /// </summary>
 public void OnDragStart()
 {
     dragedItem = null;
     sourceCell = null;
     if (dragEnabled == true)
     {
         sourceCell = GetComponentInParent<DragAndDropCell>();                   // Remember source cell
         dragedItem = this;                                                      // Set as dragged item
         MakeRaycast(false);                                                     // Disable raycast
         Canvas canvas = GetComponentInParent<Canvas>();                         // Get parent canvas
         if (canvas != null)
         {
             // Displya on top of all GUI (in current canvas)
             canvasTransform = canvas.transform;                                 // Remember parent canvas transform
             transform.SetParent(canvasTransform, true);                         // Set canvas as parent
             transform.SetAsLastSibling();                                       // Set as last child in canvas transform
         }
         if (OnItemDragStartEvent != null)
         {
             OnItemDragStartEvent();                                             // Notify all about item drag start
         }
         if (sourceCell != null)
         {
             sourceCell.ItemDragStart();                                         // Notify source cell about item drag start
         }
     }
 }