/// <summary> /// 添加节点到这一行 /// </summary> /// <param name="rect"></param> /// <param name="index"></param> /// <param name="viewWidth"></param> /// <param name="lineHeightDelta"></param> /// <returns></returns> public bool AddCell(GridDataSource source, int index, WllTemplate templateInfo, RecycleGrid rg, ref float lineHeightDelta) { float delta = templateInfo.width; float ft = posx; if (list.Count > 0) { delta = delta + rg.padding.spacex; } else { ft = ft + rg.padding.left; } ft = ft + delta; if (ft > rg.ViewWidth) { return(false); } else { posx = ft; ShowCellData scd = obtainShowCellData(posx - templateInfo.width, this, index); scd.nType = source.templateId; lineHeightDelta = Mathf.Max(lineHeight, templateInfo.height); lineHeight = lineHeightDelta; endIndex = index; list.Add(scd); return(true); } }
/// /// <summary> /// 添加cell到这一行 /// </summary> /// <param name="source">cell的数据</param> /// <param name="index">数据列表的下标</param> /// <param name="viewWidth">视口宽度</param> /// <param name="lineHeightDelta">行高度</param> /// <returns></returns> public bool AddCell(GridDataSource source, int index, RecycleGrid grid, ref float lineHeightDelta) { float ft = posx + source.wllt.width; if (list.Count == 0) { ft = ft + grid.padding.left; } else { ft = ft + grid.padding.spacex; } if (ft > grid.ViewWidth) { return(false); } else { posx = ft; ShowCellData scd = obtainShowCellData(posx - source.wllt.width, childLineY, index); scd.nType = source.templateId; lineHeightDelta = Mathf.Max(lineHeight, source.wllt.height); lineHeight = lineHeightDelta; endIndex = index; list.Add(scd); return(true); } }
public override void OnInspectorGUI() { rg = (RecycleGrid)target; serializedObject.Update(); EditorGUILayout.BeginVertical(); EditorGUILayout.PropertyField(sp_scrollRect, true); EditorGUILayout.PropertyField(sp_viewport, true); EditorGUILayout.PropertyField(sp_content, true); EditorGUILayout.PropertyField(sp_dataLocator, true); EditorGUILayout.PropertyField(sp_itemTemplate, true); EditorGUILayout.PropertyField(sp_allBeginLine, true); EditorGUILayout.PropertyField(sp_allEndLine, true); EditorGUILayout.PropertyField(sp_padding, true); if (GUILayout.Button("预览", createStyle(), GUILayout.Width(24), GUILayout.Height(16))) { rg.resetData(); rg.initData(); rg.setViewIndex(0, true); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(sp_testIndex, true); if (GUILayout.Button("定位到", createStyle(), GUILayout.Width(24), GUILayout.Height(16))) { rg.setViewIndex(rg.testIndex, false); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); dataObj = EditorGUILayout.ObjectField(dataObj, typeof(MockListData), true) as MockListData; if (GUILayout.Button("模拟数据", createStyle(), GUILayout.Width(24), GUILayout.Height(16))) { rg.dataLocator.loadPrefab(dataObj.data.source); } EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(sp_removeBegin, true); EditorGUILayout.PropertyField(sp_removeEnd, true); if (GUILayout.Button("删除数据", createStyle(), GUILayout.Width(24), GUILayout.Height(16))) { rg.removeData(rg.removeBegin, rg.removeEnd); } serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); drawIndex = GUILayout.TextField(drawIndex); if (GUILayout.Button("按下")) { GameObject s = Selection.activeGameObject; RecycleGrid rg = s.GetComponent <RecycleGrid>(); rg.initMap(); rg.recycleOldItem(); rg.setViewIndex(Convert.ToInt32(drawIndex)); rg.drawView(); } if (GUILayout.Button("清理")) { GameObject s = Selection.activeGameObject; RecycleGrid rg = s.GetComponent <RecycleGrid>(); rg.resetData(); } }