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>();
70 public override void Add(
object o)
74 Debug.Log(
"Tried to add null object");
82 private void _Add(
object o)
87 this.RebuildLayoutTo<Layer>();
88 GridLayoutGroup component =
dsv.
itemPrototype.GetComponent<GridLayoutGroup>();
91 columns = (int)(this.Rect().rect.width / (component.spacing.x + component.cellSize.x));
128 public override void OnMove(
object o,
object select =
null)
145 row.onSetHeader = onSetHeader;
151 dsv.prevTotalItemCount = -1;
152 dsv.totalItemCount =
rows.Count;
153 this.RebuildLayoutTo<Layer>();
169 for (
int i = 0; i <
rows.Count; i++)
171 for (
int j = 0; j <
rows[i].objects.Count; j++)
185 for (
int i = 0; i <
columns; i++)
187 if (dsvRow.
items.Count <= i)
191 comp = callbacks.GetComponent(Util.Instantiate(moldItem, dsvRow.transform).transform)
194 Component comp = dsvRow.
items[i].comp;
195 bool flag = !row.isHeader && row.objects.Count > i;
196 comp.SetActive(flag);
197 dsvRow.
items[i].obj =
null;
203 dsvRow.
items[i].obj = obj;
208 uIButton = (comp as
UIItem)?.button1;
210 if ((
bool)uIButton &&
callbacks.useOnClick)
212 uIButton.onClick.RemoveAllListeners();
213 uIButton.onClick.AddListener(delegate
235 dsvRow.
items[j].comp.SetActive(enable:
false);
236 dsvRow.
items[j].obj =
null;
257 dsvRow.
bgGrid.Rect().sizeDelta =
new Vector2((
float)row.
objects.Count * dsvRow.GetComponent<GridLayoutGroup>().cellSize.x, 0f);
258 dsvRow.bgGrid.uvRect =
new Rect(0f, 0f, row.
objects.Count, 1f);
288 foreach (
object @
object in objects)
298 foreach (
object object2
in objects)
303 Layer root = base.transform.GetComponentInParent<
Layer>();
336 this.RebuildLayoutTo<Layer>();
337 GridLayoutGroup component =
dsv.
itemPrototype.GetComponent<GridLayoutGroup>();
338 columns = (int)(this.Rect().rect.width / (component.spacing.x + component.cellSize.x));
348 public void Select<T>(Func<T, bool> func,
bool invoke =
false)
355 if (!(uIButton ==
null) && uIButton.gameObject.activeInHierarchy)
368 public bool Select(
object o,
bool invoke =
false)
382 if (b ==
null || !b.gameObject.activeInHierarchy)
417 dsv.contentAnchoredPosition = 0f;
428 int index =
objects.IndexOf(o);
440 return item.comp as T;
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
void WaitForEndOfFrame(Action action)
List< Action > actionsNextFrame
virtual void UnfreezeScreen()
virtual void FreezeScreen(float duration=0.2f)
UIList.ICallback callbacks
Action< UIItem > onSetHeader
override void AddDynamic(object item)
override void List(UIList.SortMode m)
override bool Contains(object item)
override void Add(object o)
void AddHeader(Action< UIItem > onSetHeader)
void UpdateRow(DSVRow dsvRow, int index)
bool Select(object o, bool invoke=false)
override void OnMove(object o, object select=null)
void Select< T >(Func< T, bool > func, bool invoke=false)
bool RefreshHighlight(bool invoke=false)
Func< object, bool > funcFilter
override void RemoveDynamic(object item)