public void Scan(PageItemCollection Items) { ActualIndexes.Clear(); Files.Clear(); for (int i = 0; Items.Count > i; i++) { FileItem fi = Items[i] as FileItem; if (fi != null) { if (fi.Playable && System.IO.File.Exists(fi.File.Path)) { ActualIndexes.Add(i); Files.Add(fi); } } } ShuffledIndexes = Enumerable.Range(0, Files.Count).ToArray(); Random rng = new Random(); int n = Files.Count; while (n > 1) { n--; int k = rng.Next(n + 1); int tmp = ShuffledIndexes[k]; ShuffledIndexes[k] = ShuffledIndexes[n]; ShuffledIndexes[n] = tmp; } Index = -1; }
protected virtual PageItem FindPageItem(PageItemCollection Items, ListItem ListItem) { for (int i = 0; Items.Count > i; i++) { if (Items[i].ListItem == ListItem) { return(Items[i]); } } return(null); }
public OrderManager(PageItemCollection Items) { Scan(Items); }