@@ -97,15 +97,25 @@ public void Setup(int renderMax, Action cacheInstantiateComplete, Action<List<In
97
97
StartCoroutine ( InstantiateRenderCache ( renderMax , cacheInstantiateComplete ) ) ;
98
98
}
99
99
100
+ /// <summary>
101
+ ///
102
+ /// </summary>
103
+ /// <param name="num"></param>
104
+ /// <param name="extLength">正为绝对值,负为比例</param>
105
+ /// <returns></returns>
100
106
public InfiniteListView AddItem ( int num = 1 , float extLength = 0.0f )
101
107
{
102
108
if ( num == 0 )
103
109
return this ;
104
110
111
+ if ( extLength < 0 )
112
+ {
113
+ extLength = Mathf . Abs ( extLength ) * _itemSize . x ;
114
+ }
115
+
105
116
if ( num > 0 )
106
117
{
107
118
108
-
109
119
int idIndex = _items . Count ;
110
120
for ( int i = 0 ; i < num ; i ++ )
111
121
{
@@ -199,8 +209,28 @@ public InfiniteListView AddItem(int num = 1, float extLength = 0.0f)
199
209
return this ;
200
210
}
201
211
212
+ public void ClearItem ( )
213
+ {
214
+ AddItem ( - _items . Count ) ;
215
+ }
216
+
217
+ public void SortItem ( )
218
+ {
219
+ for ( int i = 0 ; i < _items . Count ; i ++ )
220
+ {
221
+ var item = _items [ i ] ;
222
+ item . Id = i ;
223
+ _items [ i ] = item ;
224
+ }
225
+ }
226
+
202
227
private void RebuildItemRenderer ( float dragFloat = 0.0f )
203
228
{
229
+ foreach ( var item in _renderItems )
230
+ {
231
+ item . gameObject . SetActive ( false ) ;
232
+ }
233
+
204
234
if ( _items == null || _items . Count == 0 )
205
235
return ;
206
236
@@ -234,10 +264,7 @@ private void RebuildItemRenderer(float dragFloat=0.0f)
234
264
}
235
265
}
236
266
237
- foreach ( var item in _renderItems )
238
- {
239
- item . gameObject . SetActive ( false ) ;
240
- }
267
+
241
268
242
269
int renderIndex = - 1 ;
243
270
@@ -251,7 +278,7 @@ private void RebuildItemRenderer(float dragFloat=0.0f)
251
278
{
252
279
var item = _items [ i ] ;
253
280
Vector2 renderPostion = _dragPosition + item . Position ;
254
- Debug . Log ( $ "id:{ item . Id } _dragPosition: { _dragPosition } item.Position: { item . Position } renderPostion£º { renderPostion } ") ;
281
+ // Debug.Log($"id:{item.Id} _dragPosition: {_dragPosition} item.Position: {item.Position} renderPostion�� {renderPostion}");
255
282
if ( OutRenderBounds ( renderPostion ) )
256
283
{
257
284
item . RenderItem = null ;
@@ -395,6 +422,11 @@ public void Rebuild(CanvasUpdate executing)
395
422
//RebuildItemRenderer();
396
423
}
397
424
425
+ public void Rebuild ( )
426
+ {
427
+ RebuildItemRenderer ( ) ;
428
+ }
429
+
398
430
#endregion
399
431
400
432
private void ClampDragPosition ( float floatDrag = 0.0f )
@@ -408,7 +440,7 @@ private void ClampDragPosition(float floatDrag = 0.0f)
408
440
{
409
441
_dragPosition = Vector2 . zero ;
410
442
}
411
- Debug . Log ( $ "_dragPosition: { _dragPosition } { _dragMin } { _dragMax } ") ;
443
+ // Debug.Log($"_dragPosition: {_dragPosition} {_dragMin} {_dragMax}");
412
444
}
413
445
414
446
private bool OutRenderBounds ( Vector2 renderPosition )
@@ -421,7 +453,6 @@ private bool OutRenderBounds(Vector2 renderPosition)
421
453
422
454
return false ;
423
455
}
424
-
425
456
}
426
457
427
458
0 commit comments