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); }
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); } }
public void InitHierarchyDependents() { this.m_axisScroller = FindInParents <AxisScroller>(gameObject); this.m_canvas = FindInParents <Canvas>(gameObject); }