public void OnPointerUp(PointerEventData ped)
    {
        UIManager.instance.CardInfoPanel_Off();
        hand.SetJoyStick(true);
        data.CancelPreview();

        if (!GameManager.instance.IsInputOk || PlayerControl.instance.IsDirCardSelected || !IsAvailable())
        {
            return;
        }

        hand.ChooseRollback();

        if (((Vector2)base.transform.localPosition - (Vector2)originPos).magnitude > ActiveThreshold && GameManager.instance.CurrentTurn == Turn.PLAYER && GameManager.instance.CurrentRoom().IsEnemyAlive() && IsAvailable())
        {
            hand.RemoveFromActive(this);
            ActiveSelf();
            hand.DeActiveCard(this);
        }
        else
        {
            transform.localScale = Vector3.one;
            //transform.localPosition = originPos;
            locateRoutine = StartCoroutine(LocateRoutine(originPos));
        }
    }