Example #1
0
        /// <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);
        }