/// <summary> /// Advance toward the target position. /// </summary> protected virtual void AdvanceTowardsPosition() { float delta = RealTime.deltaTime; bool trigger = false; Vector3 before = mTrans.localPosition; Vector3 after = NGUIMath.SpringLerp(before, before + target, strength, delta); Vector3 offset = after - before; target = target - offset; //bool isLast = false; if (target.sqrMagnitude < 0.01f) { after = target; enabled = false; trigger = true; //isLast = true; } UIScrollViewSimple tempScrollViewSimple = mTrans.GetComponent <UIScrollViewSimple>(); if (tempScrollViewSimple != null) { tempScrollViewSimple.MoveRelative(offset, true); //if (isLast) //{ // if (tempScrollViewSimple.centerOnChild != null) // { // tempScrollViewSimple.centerOnChild.Recenter(); // } //} } else { mTrans.localPosition = after; Vector2 cr = mPanel.clipOffset; cr.x -= offset.x; cr.y -= offset.y; mPanel.clipOffset = cr; } if (mDrag != null) { mDrag.UpdateScrollbars(false); } if (tempScrollViewSimple != null) { tempScrollViewSimple.UpdateScrollbars(false); } if (trigger && onFinished != null) { current = this; onFinished(); current = null; } }
public void RefreshScrollist(IEvent ieve) { var ie = ieve as FuBenScrollOffestEvent; mTrans = transform; Vector3 before = mTrans.localPosition; Vector3 after = Vector3.zero; if (ie.Index < 4) { after = new Vector3(0, 0, 0); } else { after = new Vector3(0, 465f, 0); } Vector3 offset = after - before; if (scroll != null) { scroll.MoveRelative(offset); } }