int CompareByHeaderType(MyGameExtendedInfo x, MyGameExtendedInfo y) { int resultForAscending; switch (m_orderByHeader) { //case MyGameTableHeaderEnum.Ping: // resultForAscending = x.Ping.CompareTo(y.Ping); // break; case MyGameTableHeaderEnum.HostName: resultForAscending = String.CompareOrdinal(x.GameInfo.HostDisplayName, y.GameInfo.HostDisplayName); break; case MyGameTableHeaderEnum.SectorName: resultForAscending = String.CompareOrdinal(x.GameInfo.Name, y.GameInfo.Name); break; case MyGameTableHeaderEnum.GameType: resultForAscending = ((int)x.GameType).CompareTo(((int)y.GameType)); break; case MyGameTableHeaderEnum.PlayerCount: resultForAscending = x.GameInfo.PlayerCount.CompareTo(y.GameInfo.PlayerCount); break; //case MyGameTableHeaderEnum.JoinMode: // resultForAscending = x.GameInfo.JoinMode.CompareTo(y.GameInfo.JoinMode); break; default: throw new IndexOutOfRangeException("m_orderByHeader"); } if (m_orderAsc) { return(resultForAscending); } else { return(-resultForAscending); } }
private bool AddGame(MyGameExtendedInfo gameInfo) { if (m_gameList == null) { return(false); } StringBuilder pingText = new StringBuilder(6); pingText.Append("? "); // TODO: measure ping pingText.Append("ms"); int rowIndex = m_gameList.AddRow(); //m_gameList.AddItem(rowIndex * (HeaderCount) + 0, pingText, null, rowIndex, 0); m_gameList.AddItem(rowIndex * (HeaderCount) + 0, new StringBuilder(gameInfo.GameInfo.HostDisplayName), null, rowIndex, 0); m_gameList.AddItem(rowIndex * (HeaderCount) + 1, new StringBuilder(gameInfo.GameInfo.Name), GetSectorIcon(gameInfo.GameInfo), rowIndex, 1); m_gameList.AddItem(rowIndex * (HeaderCount) + 2, GetGameType(gameInfo.GameInfo), null, rowIndex, 2); m_gameList.AddItem(rowIndex * (HeaderCount) + 3, new StringBuilder(gameInfo.GameInfo.PlayerCount + "/" + gameInfo.GameInfo.MaxPlayerCount), null, rowIndex, 3); //m_gameList.AddItem(rowIndex * (HeaderCount-1) + 5, new StringBuilder(gameInfo.GameInfo.JoinMode.ToString()), null, rowIndex, 5); return(true); }
private bool AddGame(MyGameExtendedInfo gameInfo) { if (m_gameList == null) return false; StringBuilder pingText = new StringBuilder(6); pingText.Append("? "); // TODO: measure ping pingText.Append("ms"); int rowIndex = m_gameList.AddRow(); //m_gameList.AddItem(rowIndex * (HeaderCount) + 0, pingText, null, rowIndex, 0); m_gameList.AddItem(rowIndex * (HeaderCount) + 0, new StringBuilder(gameInfo.GameInfo.HostDisplayName), null, rowIndex, 0); m_gameList.AddItem(rowIndex * (HeaderCount) + 1, new StringBuilder(gameInfo.GameInfo.Name), GetSectorIcon(gameInfo.GameInfo), rowIndex, 1); m_gameList.AddItem(rowIndex * (HeaderCount) + 2, GetGameType(gameInfo.GameInfo), null, rowIndex, 2); m_gameList.AddItem(rowIndex * (HeaderCount) + 3, new StringBuilder(gameInfo.GameInfo.PlayerCount + "/" + gameInfo.GameInfo.MaxPlayerCount), null, rowIndex, 3); //m_gameList.AddItem(rowIndex * (HeaderCount-1) + 5, new StringBuilder(gameInfo.GameInfo.JoinMode.ToString()), null, rowIndex, 5); return true; }
int CompareByHeaderType(MyGameExtendedInfo x, MyGameExtendedInfo y) { int resultForAscending; switch (m_orderByHeader) { //case MyGameTableHeaderEnum.Ping: // resultForAscending = x.Ping.CompareTo(y.Ping); // break; case MyGameTableHeaderEnum.HostName: resultForAscending = String.CompareOrdinal(x.GameInfo.HostDisplayName, y.GameInfo.HostDisplayName); break; case MyGameTableHeaderEnum.SectorName: resultForAscending = String.CompareOrdinal(x.GameInfo.Name, y.GameInfo.Name); break; case MyGameTableHeaderEnum.GameType: resultForAscending = ((int)x.GameType).CompareTo(((int)y.GameType)); break; case MyGameTableHeaderEnum.PlayerCount: resultForAscending = x.GameInfo.PlayerCount.CompareTo(y.GameInfo.PlayerCount); break; //case MyGameTableHeaderEnum.JoinMode: // resultForAscending = x.GameInfo.JoinMode.CompareTo(y.GameInfo.JoinMode); break; default: throw new IndexOutOfRangeException("m_orderByHeader"); } if (m_orderAsc) { return resultForAscending; } else { return -resultForAscending; } }