Пример #1
0
 //droppa nella droppable area il droppable object trascinato
 protected void DropItem(DroppableArea d, DraggableObject draggableComponent)
 {
     draggableComponent.StopDragging(draggableComponent.CheckIfCorrectDropArea(d.GetMainType(), d.GetSubType()), d.gameObject);
     draggableComponent.SetDropAreaDestination(d.transform.position);
     draggableComponent.SetDroppableArea(d.gameObject);
     d.SetContainedPiece(draggableComponent.gameObject);
     d.SetOccupied(true);
 }
Пример #2
0
 //cose da fare quando il mouse viene rilasciato o quando la mano di apre
 void Drop()
 {
     ChangeHandSprite("open");
     // se sto effettivamente trascinando qualcosa
     if (pieceTaken != null)
     {
         DraggableObject draggableComponent = pieceTaken.GetComponent <DraggableObject>();
         if (draggableComponent.GetDroppableArea() != null)
         {
             draggableComponent.GetDroppableArea().SetOccupied(false);
         }
         //se sei sopra una droppable area
         if (droppableArea.Count > 0)
         {
             //ho trovato qualcosa?
             bool found = false;
             foreach (DroppableArea d in droppableArea)
             {
                 //se e' giusta la droppable area
                 if (draggableComponent.CheckIfCorrectDropArea(d.GetMainType(), d.GetSubType()) && !d.GetOccupied())
                 {
                     DropItem(d, draggableComponent);
                     piecePositioned();
                     found = true;
                 }
             }
             //se non ho trovato nessuna droppable area compatibile
             if (!found)
             {
                 draggableComponent.StopDragging(false, null);
             }
         }
         else
         {
             //altrimenti semplicemente sei fuori da una droppable area
             draggableComponent.StopDragging(false, null);
         }
         //alla fine comunque vada non hai piu' un pezzo da draggare e non stai draggando
         pieceTaken = null;
         dragging   = false;
     }
 }