OnRelease









How do I use On Release
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: InputToEvent.cs Copy
90     private void Release( Vector2 screenPos )
91     {
92         if( lastGo != null )
93         {
94             GameObject currentGo = RaycastObject( screenPos );
95             if( currentGo == lastGo ) lastGo.SendMessage( "OnClick", SendMessageOptions.DontRequireReceiver );
96             lastGo.SendMessage( "OnRelease", SendMessageOptions.DontRequireReceiver );
97             lastGo = null;
98         }
99
100         pressedPosition = Vector2.zero;
101         this.Dragging = false;
102     }
File name: ScrollSnap.cs Copy
18  public class OnReleaseEvent : UnityEvent {}
File name: ScrollSnap.cs Copy
33  protected override void Awake() {
34   base.Awake();
35   actualIndex = startingIndex;
36   cellIndex = startingIndex;
37   this.onLerpComplete = new OnLerpCompleteEvent();
38   this.onRelease = new OnReleaseEvent();
39   this.scrollRect = GetComponent();
40   this.canvasGroup = GetComponent();
41   this.content = scrollRect.content;
42   this.cellSize = content.GetComponent().cellSize;
43   content.anchoredPosition = new Vector2(-cellSize.x * cellIndex, content.anchoredPosition.y);
44   int count = LayoutElementCount();
45   SetContentSize(count);
46
47   if(startingIndex < count) {
48    MoveToIndex(startingIndex);
49   }
50  }
File name: ScrollSnap.cs Copy
137  public void SnapToIndex(int newCellIndex) {
138   int maxIndex = CalculateMaxIndex();
139   if(wrapAround && maxIndex > 0) {
140    actualIndex += newCellIndex - cellIndex;
141    cellIndex = newCellIndex;
142    onLerpComplete.AddListener(WrapElementAround);
143   } else {
144    // when it's the same it means it tried to go out of bounds
145    if(newCellIndex >= 0 && newCellIndex <= maxIndex) {
146     actualIndex += newCellIndex - cellIndex;
147     cellIndex = newCellIndex;
148    }
149   }
150   onRelease.Invoke(cellIndex);
151   StartLerping();
152  }
File name: ScrollSnap.cs Copy
154  public void MoveToIndex(int newCellIndex) {
155   int maxIndex = CalculateMaxIndex();
156   if(newCellIndex >= 0 && newCellIndex <= maxIndex) {
157    actualIndex += newCellIndex - cellIndex;
158    cellIndex = newCellIndex;
159   }
160   onRelease.Invoke(cellIndex);
161   content.anchoredPosition = CalculateTargetPoisition(cellIndex);
162  }

OnRelease 135 lượt xem

Gõ tìm kiếm nhanh...