public void Draw(WorldView view) { SpriteFont fontSmallOutline = UI.fontSmallOutline; int sAFE_AREA_OFFSET_L = view.SAFE_AREA_OFFSET_L; int sAFE_AREA_OFFSET_T = view.SAFE_AREA_OFFSET_T; Main.strBuilder.Length = 0; Main.strBuilder.Append(Lang.inter[37]); Main.strBuilder.Append(Data.NumEntries); Main.strBuilder.Append('\n'); Main.strBuilder.Append(Data.LeaderboardName); UI.DrawStringLT(fontSmallOutline, sAFE_AREA_OFFSET_L, sAFE_AREA_OFFSET_T, Color.White); Vector2 vector = new Vector2(sAFE_AREA_OFFSET_L, sAFE_AREA_OFFSET_T + 10); for (int i = 0; i < IconIndices.Length; i++) { vector.X = IconPositions[i]; Main.spriteBatch.Draw(IconIndices[i], vector, Color.White); } vector.Y = view.SAFE_AREA_OFFSET_T + 95; LeaderboardData.Row[] rows = Data.GetRows(); for (int j = 0; j < rows.Length; j++) { int num = j + Data.BatchStart; Color color = (num == Data.Selected) ? ROW_COLOR_SELECTED : ROW_COLOR; Box.Color = color; Box.Draw(new Vector2i(20, (int)vector.Y - 25), 1f); LeaderboardData.Row row = rows[j]; if (row != null && row.Available) { vector.X = 80f; string text = row.Rank.ToStringLookup(); Vector2 pivot = UI.MeasureString(fontSmallOutline, text); pivot.X = (int)pivot.X >> 1; pivot.Y = (int)pivot.Y >> 1; UI.DrawStringScaled(fontSmallOutline, text, vector, Color.White, pivot, 1f); vector.X = 250f; string gamertag = row.Gamertag; pivot = UI.MeasureString(fontSmallOutline, gamertag); pivot.X = (int)pivot.X >> 1; pivot.Y = (int)pivot.Y >> 1; UI.DrawStringScaled(fontSmallOutline, gamertag, vector, Color.White, pivot, 1f); for (int num2 = Math.Min(StatisticsPositions.Length, row.Statistics.Length) - 1; num2 >= 0; num2--) { vector.X = StatisticsPositions[num2]; uint num3 = row.Statistics[num2]; string text2 = (num3 < 99999999) ? ((int)num3).ToStringLookup() : "99999999"; pivot = UI.MeasureString(fontSmallOutline, text2); pivot.X = (int)pivot.X >> 1; pivot.Y = (int)pivot.Y >> 1; UI.DrawStringScaled(fontSmallOutline, text2, vector, Color.White, pivot, 1f); } } vector.Y += 55f; } }
public static MockReader Create(int numEntries, int pageSize, int numColumns) { FastRandom fastRandom = new FastRandom(1234567u); LeaderboardData.Row[] array = new LeaderboardData.Row[numEntries]; for (int num = numEntries - 1; num >= 0; num--) { array[num] = new LeaderboardData.Row { Available = true, Rank = num + 1, Statistics = new uint[numColumns] }; for (int i = 0; i < numColumns; i++) { array[num].Statistics[i] = (uint)fastRandom.Next(109999998); } } return(new MockReader(array, 0, Math.Min(numEntries, pageSize))); }