/// <summary> /// Adds a UIObject and updates our sort flag for our next update loop. /// </summary> /// <param name="uiObjectToAdd"></param> /// <param name="load"></param> /// <param name="initialise"></param> /// <returns></returns> public override T AddChild <T>(T uiObjectToAdd, bool load = false, bool initialise = false) { NeedsRebuild = true; ObjectsToSort.Add(uiObjectToAdd); return(base.AddChild(uiObjectToAdd, load, initialise)); }
private static ISortingStrategy GetSortingOptions(ObjectsToSort objectToSort) { ISortingStrategy sortingStrategy = null; switch (objectToSort) { case ObjectsToSort.StudentNumber: sortingStrategy = new QuickSort(); break; case ObjectsToSort.RailwayPassenger: sortingStrategy = new MergeSort(); break; case ObjectsToSort.CountyResidents: sortingStrategy = new HeapSort(); break; default: break; } return(null); }