public void RemoveRow(ScoreTableRowComponent row) { if (!this.useRowsCache) { this.excluded.Add((RectTransform)row.transform); DestroyImmediate(row.gameObject); this.SetDirty(); } else { this.rowsCache.Enqueue(row); foreach (ScoreTableRowIndicator indicator in row.indicators.Values) { EntityBehaviour component = indicator.GetComponent <EntityBehaviour>(); if (component != null) { component.DetachFromEntity(); } } row.gameObject.SetActive(false); row.transform.SetParent(null, false); this.SetDirty(); } }