Esempio n. 1
0
    void PickUp(PointerEventData eventData)
    {
        StopPickUpTimer();

        if (eventData.pointerDrag != null)
        {
            AxisScroller axisScroller = eventData.pointerDrag.GetComponent <AxisScroller>();
            if (axisScroller == null)
            {
                DebugUtility.PrintPink("axisScroller that is being drag is not present at pickup, because pointerDrag is " + eventData.pointerDrag.name);
            }
            else
            {
                axisScroller.OnEndDrag(eventData);
                axisScroller.StopMovement();
            }
        }
        eventData.pointerDrag = this.gameObject;

        if (m_canvas == null)
        {
            return;
        }
        m_draggedIcon = CreateAndSetupDraggedIcon(m_canvas, ref m_pickedQuantText);

        m_draggedPlane = m_canvas.transform as RectTransform;

        m_isPickedUp = true;
        m_PickAmount = 1;

        m_slotGroupManager.FilterDestination(this);

        /*	for all SGs in the scene, check to see if it can hold the currenly picked slottable
         *              and if so, activate
         *
         *      for all the destination candidate SGs' slottables
         *      check to see if origSG can hold the slottable
         *              and if so, make it activate
         */

        SetDraggedPosition(eventData);
        Probe(eventData);
    }
Esempio n. 2
0
    IEnumerator WaitAndReset(PointerEventData eventData)
    {
        float m_resetTimer = 0f;

        m_isWFRDone      = false;
        m_isResetTimerOn = true;
        while (m_isResetTimerOn)
        {
            if (m_resetTimer > m_pickupTime)
            {
                if (m_isPickedUp)
                {
                    DestroyDraggedIcon();
                    m_PickAmount = 0;
                }
                else
                {
                    if (!m_isPointerMoved)
                    {
                        OnNonEventTap(eventData);
                    }
                }

                m_isResetTimerOn = false;
                m_isWFRDone      = true;
                m_resetTimer     = 0f;
                m_slotGroupManager.SetActiveStateAll(true);
                yield break;
            }

            if (!m_isResetTimerOn)
            {
                m_isWFRDone  = true;
                m_resetTimer = 0f;
                m_slotGroupManager.SetActiveStateAll(true);

                yield break;
            }

            if (m_isTouchedOutside)
            {
                m_isTouchedOutside = false;


                if (m_isPickedUp)
                {
                    StartCoroutine(Revert(eventData));
                }

                m_isResetTimerOn = false;
                m_isWFRDone      = true;
                m_resetTimer     = 0f;
                m_slotGroupManager.SetActiveStateAll(true);
                yield break;
            }

            if (m_isTouchedInside)
            {
                m_isTouchedInside = false;

                if (!m_isPickedUp)
                {
                    PickUp(eventData);
                }
                else if (m_Item.isStackable)
                {
                    m_PickAmount++;
                }

                if (eventData.pointerDrag != null)
                {
                    AxisScroller axisScroller = eventData.pointerDrag.GetComponent <AxisScroller>();
                    if (axisScroller != null)
                    {
                        axisScroller.OnEndDrag(eventData);
                        axisScroller.StopMovement();
                    }
                }

                eventData.pointerDrag = this.gameObject;
                print("comes as far as here");

                m_isWFRDone      = true;
                m_isResetTimerOn = false;
                m_resetTimer     = 0f;
                // m_slotGroupManager.SetActiveStateAll(true);
                yield break;
            }

            m_resetTimer += Time.deltaTime;



            yield return(null);
        }
    }
Esempio n. 3
0
 public void InitHierarchyDependents()
 {
     this.m_axisScroller = FindInParents <AxisScroller>(gameObject);
     this.m_canvas       = FindInParents <Canvas>(gameObject);
 }