2using System.Collections.Generic;
13 public List<object>
objects =
new List<object>();
38 public List<Row>
rows =
new List<Row>();
40 public List<object>
objects =
new List<object>();
68 public override void Add(
object o)
72 Debug.Log(
"Tried to add null object");
80 private void _Add(
object o)
85 this.RebuildLayoutTo<Layer>();
86 GridLayoutGroup component =
dsv.
itemPrototype.GetComponent<GridLayoutGroup>();
87 columns = (int)(this.Rect().rect.width / (component.spacing.x + component.cellSize.x));
113 row.onSetHeader = onSetHeader;
119 dsv.prevTotalItemCount = -1;
120 dsv.totalItemCount =
rows.Count;
121 this.RebuildLayoutTo<Layer>();
137 for (
int i = 0; i <
rows.Count; i++)
139 for (
int j = 0; j <
rows[i].objects.Count; j++)
153 for (
int i = 0; i <
columns; i++)
155 if (dsvRow.
items.Count <= i)
159 comp = callbacks.GetComponent(Util.Instantiate(moldItem, dsvRow.transform).transform)
162 Component comp = dsvRow.
items[i].comp;
163 bool flag = !row.isHeader && row.objects.Count > i;
164 comp.SetActive(flag);
165 dsvRow.
items[i].obj =
null;
171 dsvRow.
items[i].obj = obj;
176 uIButton = (comp as
UIItem)?.button1;
178 if ((
bool)uIButton &&
callbacks.useOnClick)
180 uIButton.onClick.RemoveAllListeners();
181 uIButton.onClick.AddListener(delegate
203 dsvRow.
items[j].comp.SetActive(enable:
false);
204 dsvRow.
items[j].obj =
null;
225 dsvRow.
bgGrid.Rect().sizeDelta =
new Vector2((
float)row.
objects.Count * dsvRow.GetComponent<GridLayoutGroup>().cellSize.x, 0f);
226 dsvRow.bgGrid.uvRect =
new Rect(0f, 0f, row.
objects.Count, 1f);
250 foreach (
object @
object in objects)
254 Layer root = base.transform.GetComponentInParent<
Layer>();
287 this.RebuildLayoutTo<Layer>();
288 GridLayoutGroup component =
dsv.
itemPrototype.GetComponent<GridLayoutGroup>();
289 columns = (int)(this.Rect().rect.width / (component.spacing.x + component.cellSize.x));
299 public void Select<T>(Func<T, bool> func,
bool invoke =
false)
306 if (!(uIButton ==
null) && uIButton.gameObject.activeInHierarchy)
319 public bool Select(
object o,
bool invoke =
false)
333 if (b ==
null || !b.gameObject.activeInHierarchy)
368 dsv.contentAnchoredPosition = 0f;
379 int index =
objects.IndexOf(o);
391 return item.comp as T;
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
virtual void FreezeScreen(float duration=0.3f)
void WaitForEndOfFrame(Action action)
List< Action > actionsNextFrame
virtual void UnfreezeScreen()
UIList.ICallback callbacks
Action< UIItem > onSetHeader
override void List(UIList.SortMode m)
override void Add(object o)
void AddHeader(Action< UIItem > onSetHeader)
void UpdateRow(DSVRow dsvRow, int index)
bool Select(object o, bool invoke=false)
void Select< T >(Func< T, bool > func, bool invoke=false)
bool RefreshHighlight(bool invoke=false)