+
+ /// <summary>
+ /// Get visible item object on index if it is realized.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected virtual RecyclerViewItem GetVisibleItem(int index)
+ {
+
+ foreach (RecyclerViewItem item in VisibleItems)
+ {
+ if (item.Index == index) return item;
+ }
+ return null;
+ }
+
+ /// <summary>
+ /// The data class for group informations.
+ /// inherited class can use this data to managing group items feature.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected internal class GroupInfo
+ {
+ /// <summary>
+ /// Group parent object.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public object GroupParent;
+
+ /// <summary>
+ /// Group start index.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public int StartIndex;
+
+ /// <summary>
+ /// Group count.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public int Count;
+
+ /// <summary>
+ /// Group size. this value is size of scrollable axis only.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public float GroupSize;
+
+ /// <summary>
+ /// Group position. this value is size of scrollable axis only.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public float GroupPosition;
+
+ /// <summary>
+ /// List of group items position.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public List<float> ItemPosition = new List<float>();
+ }