예제 #1
0
        private List <Build> GetSortedBuildsByMatchup(List <Build> builds, SortBuildsOrder sortInOrder)
        {
            List <Build> sortedBuilds = new List <Build>();

            switch (sortInOrder)
            {
            case SortBuildsOrder.T_P_Z:
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, TERRAN));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, PROTOSS));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, ZERG));
                break;

            case SortBuildsOrder.T_Z_P:
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, TERRAN));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, ZERG));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, PROTOSS));
                break;

            case SortBuildsOrder.P_T_Z:
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, PROTOSS));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, TERRAN));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, ZERG));
                break;

            case SortBuildsOrder.P_Z_T:
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, PROTOSS));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, ZERG));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, TERRAN));
                break;

            case SortBuildsOrder.Z_T_P:
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, ZERG));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, TERRAN));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, PROTOSS));
                break;

            case SortBuildsOrder.Z_P_T:
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, ZERG));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, PROTOSS));
                sortedBuilds.AddRange(GetBuildsByMatchup(builds, TERRAN));
                break;
            }
            return(sortedBuilds);
        }
예제 #2
0
        /********************************  ********************************/

        public MainWindow()
        {
            imageLookupTable = new Dictionary <string, int>();
            InitImageLookupTable.Init(imageLookupTable);

            LoadedBuildOrders = new List <Build>();
            SelectedBuild     = null;

            bFormattingEnabled        = true;
            bBuildListSortedByRace    = false;
            bBuildListSortedByMatchup = false;
            SortByRaceIndex           = (SortBuildsOrder)0;
            SortByMatchupIndex        = (SortBuildsOrder)0;

            SplashWindow splashScreen = new SplashWindow();

            Application.Run(splashScreen);

            InitializeComponent();
        }
예제 #3
0
        /************************************************************************************************************
        *
        *	Sort Builds
        *
        ************************************************************************************************************/
        private void BuildList_ColumnClick(object sender, ColumnClickEventArgs e)
        {
            const int    RACE_COL = 1, MATCH_COL = 2;
            List <Build> buildsSorted;

            switch (e.Column)
            {
            /** Sort Build List By Race **/
            case RACE_COL:
                bBuildListSortedByRace    = true;
                bBuildListSortedByMatchup = false;

                buildsSorted     = GetSortedBuildsByRace(LoadedBuildOrders, SortByRaceIndex);
                SortByRaceIndex += 1;
                if (SortByRaceIndex > SortBuildsOrder.Z_T_P)
                {
                    SortByRaceIndex = SortBuildsOrder.T_P_Z;
                }
                PopulateBuildList(buildsSorted);
                ReSelectBuildInList();
                break;

            /** Sort Build List By Matchup **/
            case MATCH_COL:
                bBuildListSortedByMatchup = true;
                bBuildListSortedByRace    = false;

                buildsSorted        = GetSortedBuildsByMatchup(LoadedBuildOrders, SortByMatchupIndex);
                SortByMatchupIndex += 1;
                if (SortByMatchupIndex > SortBuildsOrder.Z_T_P)
                {
                    SortByMatchupIndex = SortBuildsOrder.T_P_Z;
                }
                PopulateBuildList(buildsSorted);
                ReSelectBuildInList();
                break;
            }
        }