Beispiel #1
0
 public Answer(bool?yesno = null, SortCriteriaParameters sortcriteriaparameters = null, Criteria chosencriteria = 0, bool?stopprogram = null)
 {
     Yes = yesno;
     SortCriteriaParameters = sortcriteriaparameters;
     ChosenCriteria         = chosencriteria;
     StopProgram            = stopprogram;
 }
Beispiel #2
0
 public ISortCommand GetSortCommand(Criteria sortcriteria, SortCriteriaParameters sortcriteriaparameters, bool keeporiginalreplaynames, Sorter sorter)
 {
     // how to write this properly?
     if (sortcriteria.HasFlag(Criteria.PLAYERNAME))
     {
         return(new SortOnPlayerName(sortcriteriaparameters, keeporiginalreplaynames, sorter));
     }
     else if (sortcriteria.HasFlag(Criteria.GAMETYPE))
     {
         return(new SortOnGameType(sortcriteriaparameters, keeporiginalreplaynames, sorter));
     }
     else if (sortcriteria.HasFlag(Criteria.MATCHUP))
     {
         return(new SortOnMatchUp(sortcriteriaparameters, keeporiginalreplaynames, sorter));
     }
     else if (sortcriteria.HasFlag(Criteria.MAP))
     {
         return(new SortOnMap(sortcriteriaparameters, keeporiginalreplaynames, sorter));
     }
     else if (sortcriteria.HasFlag(Criteria.DURATION))
     {
         return(new SortOnDuration(sortcriteriaparameters, keeporiginalreplaynames, sorter));
     }
     else
     {
         return(null);
     }
 }
Beispiel #3
0
        //TODO sorting needs to start with the original names, and then progressively work with the filename....??
        public void ExecuteSort(SortCriteriaParameters sortcriteriaparameters, bool keeporiginalreplaynames, List <string> replaysThrowingExceptions)
        {
            ReplayHandler.SaveReplayFilePaths(OriginalListReplays);
            // why do i need this silly string array with the original order...
            IDictionary <string, List <File <IReplay> > > SortOnXResult = null;

            for (int i = 0; i < CriteriaStringOrder.Length; i++)
            {
                // should I pass a new sorter instead of this?? Then I don't have to make separate property OriginalDirectory
                var SortOnX = Factory.GetSortCommand((Criteria)Enum.Parse(typeof(Criteria), CriteriaStringOrder[i]), sortcriteriaparameters, i == 0 ? keeporiginalreplaynames : true, this);
                if (i == 0)
                {
                    SortOnXResult = SortOnX.Sort(replaysThrowingExceptions);
                }
                else
                {
                    // nested sort
                    SortOnX.IsNested = true;
                    SortOnXResult    = NestedSort(SortOnX, SortOnXResult, replaysThrowingExceptions);
                }
            }
            ReplayHandler.RestoreToSavedStateAndClearFuture(OriginalListReplays);
        }
Beispiel #4
0
 public Answer(SortCriteriaParameters sortcriteriaparameters)
 {
     SortCriteriaParameters = sortcriteriaparameters;
 }
Beispiel #5
0
 public SortOnMap(SortCriteriaParameters sortcriteriaparameters, bool keeporiginalreplaynames, Sorter sorter)
 {
     SortCriteriaParameters  = sortcriteriaparameters;
     KeepOriginalReplayNames = keeporiginalreplaynames;
     Sorter = sorter;
 }