private void Enter(List <int> Ids)//生成物体 { for (int i = 0; i < Ids.Count; i++) { if (BoxCount < 1) { return; //数量不能为0 } Num = (Loop) ? SS_Mathf.Int_Loop(Ids[i], BoxCount) : Ids[i]; //换算成整数循环 if (!(Loop || SS_Mathf.If_IntervalValue(Num, 0, BoxCount - 1))) { continue; //跳过这次循环 } GameObject BoxObject = objectPool.Get_Object(); // print("工作对象池:" + objectPool.ObjectPool_Work.Count + " 闲置对象池:" + objectPool.ObjectPool_Idle.Count); IdPool.Add(Ids[i], BoxObject); if (BoxObject != null) { Vector2 List2D = SS_Mathf.List1D_To_List2D(Ids[i], (int)groupList.y); //下标换算 Vector2 BoxPosition; //根据二维下标计算位置 BoxPosition.x = ((isVertical) ? List2D.y : List2D.x) * GroupBox.x + GroupGap.x + BoxSize_Half.x; BoxPosition.y = ((isVertical) ? List2D.x : List2D.y) * -GroupBox.y - GroupGap.y - BoxSize_Half.y; ((RectTransform)BoxObject.transform).sizeDelta = new Vector2(BoxSize.x, BoxSize.y); //设置内容盒子高宽 ((RectTransform)BoxObject.transform).anchorMin = new Vector2(0, 1); //设置锚点为中心点 ((RectTransform)BoxObject.transform).anchorMax = new Vector2(0, 1); ((RectTransform)BoxObject.transform).anchoredPosition = BoxPosition; //位置放置 BoxsId.Add(Ids[i]); //Id存入列表 } } }