예제 #1
0
 private void ItemClick(FieldItem obj)
 {
     if (obj is IMoveable)
     {
         if (lastPicked == null)
         {
             lastPicked = obj;
             lastPicked.Pick();
         }
         else
         {
             int rowDelta     = Mathf.Abs(lastPicked.Row - obj.Row);
             int coloumnDelta = Mathf.Abs(lastPicked.Coloumn - obj.Coloumn);
             lastPicked.Depick();
             if ((rowDelta == 1 && coloumnDelta == 0) || (rowDelta == 0 && coloumnDelta == 1))
             {
                 base.Swap(lastPicked.Coloumn, lastPicked.Row, obj.Coloumn, obj.Row);
                 lastPicked = null;
             }
             else
             {
                 lastPicked = obj;
                 lastPicked.Pick();
             }
         }
     }
 }