using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public struct Padding
{
public int top, bottom, left, right;
}
public struct Cell
{
public int number;
public GameObject go;
}
public class macOsDocker : MonoBehaviour,IPointerMoveHandler,IPointerExitHandler
{
public ScrollRect scrollRect;
public List<Transform> listItems = new List<Transform>();
[Header("半轴的长度(世界坐标)")]
public float halfRange;
public float yMaxDis;
public float maxAddScale;
public RectTransform contentTrans;
public RectTransform childParentTrans;
private Padding offsetPadding;
public LayoutGroup layoutGroup;
public RectTransform viewportRectTransform;
private List<Cell> currentCells = new List<Cell>();
private List<MacOsCell> unRegularCellList = new List<MacOsCell>();
private List<GameObject> cachedCells = new List<GameObject>();
private int currentFirstCol;
private int currentLastCol;
private float cellX;
private float spacingX;
[Header("不够的时候用什么预制体创建")]
public GameObject cellPrefab;
[Header("模拟多少个总数数量")]
public int totalCount;
public int FirstCol
{
get
{
return GetColByX(-contentTrans.anchoredPosition.x - offsetPadding.left);
}
}
private GameObject pendingDestroyGo;
private void GetListItems()
{
listItems.Clear();
for (int i = 0; i < transform.childCount; i++)
{
Transform child = transform.GetChild(i);
if(child.gameObject.activeSelf)
{
listItems.Add(child);
}
}
}
public int GetColByX(float scrollLeftX)
{
if (unRegularCellList.Count <= 0)
{
var col = (int)(scrollLeftX / (cellX + spacingX));
return Mathf.Clamp(col, 0, totalCount - 1);
}
else
{
var col = (int)(scrollLeftX / (cellX + spacingX));
var begin = unRegularCellList[0].index;
if (col <= begin)
{
return Mathf.
macOs程序坞动画效果支持10000个数据的时候的效果unity实现
最新推荐文章于 2024-09-24 16:14:50 发布

最低0.47元/天 解锁文章
794

被折叠的 条评论
为什么被折叠?



