// Start is called before the first frame update
    void Awake()
    {
        hand  = new DragMode.HandMode();
        field = new DragMode.FieldMode();
        arrow = new DragMode.ArrowMode();

        currentDragMode = null;
    }
    public void GoToNullMode()
    {
        if (currentDragMode == null)
        {
            return;
        }
        currentDragMode.Exit();
        currentDragMode = null;
        CardManager.instance.currentDragCard = null;

        CardManager.instance.cardViewControl.HandCardPosUpdate();
    }
 public void GoToArrowMode()
 {
     if (currentDragMode != null)
     {
         if (currentDragMode.modeName == "ArrowMode")
         {
             return;
         }
         else
         {
             currentDragMode.Exit();
         }
     }
     currentDragMode = arrow;
     currentDragMode.Enter();
 }
 public void GoToFieldMode()
 {
     if (currentDragMode != null)
     {
         if (currentDragMode.modeName == "FieldMode")
         {
             return;
         }
         else
         {
             currentDragMode.Exit();
         }
     }
     currentDragMode = field;
     currentDragMode.Enter();
 }
 public void GoToHandMode()
 {
     if (currentDragMode != null)
     {
         if (currentDragMode.modeName == "HandMode")
         {
             return;
         }
         else
         {
             currentDragMode.Exit();
         }
     }
     currentDragMode = hand;
     currentDragMode.Enter();
 }