public void RefreshDisplay() { var entries = m_entries; m_pageHandler.ListCount = entries.Count; for (int i = 0; i < m_displayedEntries.Length; i++) { var entry = m_displayedEntries[i]; if (entry != null) { entry.Disable(); } else { break; } } if (entries.Count < 1) { return; } foreach (var itemIndex in m_pageHandler) { if (itemIndex >= entries.Count) { break; } CacheEnumerated entry = entries[itemIndex]; m_displayedEntries[itemIndex - m_pageHandler.StartIndex] = entry; entry.Enable(); } //UpdateSubcontentHeight(); }
public void GetCacheEntries() { if (m_entries.Any()) { // maybe improve this, probably could be more efficient i guess foreach (var entry in m_entries) { entry.Destroy(); } m_entries.Clear(); } #if CPP if (RefIEnumerable == null && Value != null) { RefIEnumerable = EnumerateWithReflection(); } #endif if (RefIEnumerable != null) { int index = 0; foreach (var entry in RefIEnumerable) { var cache = new CacheEnumerated(index, this, RefIList, this.m_listContent); cache.CreateIValue(entry, m_baseEntryType); m_entries.Add(cache); cache.Disable(); index++; } } RefreshDisplay(); }