Exemplo n.º 1
0
        public IEnumerator MoveToPlaceHolder()
        {
            while (PlaceHolder != null && Vector3.Distance(transform.position, PlaceHolder.position) > 1)
            {
                float step = MovementSpeed * Time.deltaTime;
                transform.position = Vector3.MoveTowards(transform.position, PlaceHolder.position, step);
                yield return(null);
            }

            if (PlaceHolder == null)
            {
                Discard();
                yield break;
            }

            CardStack prevParentStack = ParentCardStack;

            transform.SetParent(PlaceHolder.parent);
            transform.SetSiblingIndex(PlaceHolder.GetSiblingIndex());
            transform.localScale = Vector3.one;
            if (prevParentStack != null)
            {
                prevParentStack.OnRemove(this);
            }
            if (ParentCardStack != null)
            {
                ParentCardStack.OnAdd(this);
            }
            PlaceHolder = null;
            canvasGroup.blocksRaycasts = true;
        }
Exemplo n.º 2
0
        public void ParentToCanvas(Vector3 targetPosition)
        {
            if (IsOnline && hasAuthority)
            {
                CmdUnspawnCard();
            }
            CardStack prevParentStack = ParentCardStack;

            if (CurrentDragPhase == DragPhase.Drag)
            {
                prevParentStack.UpdateScrollRect(DragPhase.End, CurrentPointerEventData);
            }
            transform.SetParent(CardGameManager.Instance.CardCanvas.transform);
            transform.SetAsLastSibling();
            if (prevParentStack != null)
            {
                prevParentStack.OnRemove(this);
            }
            canvasGroup.blocksRaycasts           = false;
            ((RectTransform)transform).anchorMax = 0.5f * Vector2.one;
            ((RectTransform)transform).anchorMin = 0.5f * Vector2.one;
            ((RectTransform)transform).pivot     = 0.5f * Vector2.one;
            transform.position   = targetPosition;
            transform.localScale = Vector3.one;
        }