From f95c330d301256fa202359cfb2106357cad44960 Mon Sep 17 00:00:00 2001 From: Tomaso2468 <48136416+Tomaso2468@users.noreply.github.com> Date: Wed, 4 Dec 2019 18:14:01 +0000 Subject: [PATCH] The debug screen is now sorted. --- .../io/github/tomaso2468/rpgonline/Game.java | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/RPGOnline2/src/io/github/tomaso2468/rpgonline/Game.java b/RPGOnline2/src/io/github/tomaso2468/rpgonline/Game.java index bac1a61..d52e0a6 100644 --- a/RPGOnline2/src/io/github/tomaso2468/rpgonline/Game.java +++ b/RPGOnline2/src/io/github/tomaso2468/rpgonline/Game.java @@ -33,7 +33,11 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE import java.lang.management.ManagementFactory; import java.net.URL; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -531,14 +535,28 @@ public void postRender(Game game, Renderer renderer) throws RenderException { DebugFrame render = lastFrame; if (render != null) { y = drawDebugTitle(g, "Render Thread", y, false); - for (Entry t : render.getTimes()) { + List> times = new ArrayList<>(render.getTimes()); + Collections.sort(times, new Comparator>() { + @Override + public int compare(Entry o1, Entry o2) { + return o1.getKey().compareToIgnoreCase(o2.getKey()); + } + }); + for (Entry t : times) { y = drawDebugLineLabel(g, t.getKey(), (t.getValue() / 1000) + "", y, false); } } if (lastUpdate != null) { y = drawDebugTitle(g, "Main Thread Updates", y, false); - for (Entry t : lastUpdate.getTimes()) { + List> times = new ArrayList<>(lastUpdate.getTimes()); + Collections.sort(times, new Comparator>() { + @Override + public int compare(Entry o1, Entry o2) { + return o1.getKey().compareToIgnoreCase(o2.getKey()); + } + }); + for (Entry t : times) { y = drawDebugLineLabel(g, t.getKey(), (t.getValue() / 1000) + "", y, false); } } @@ -547,7 +565,14 @@ public void postRender(Game game, Renderer renderer) throws RenderException { DebugFrame client = ServerManager.getClient().getDebugFrame(); if (client != null) { y = drawDebugTitle(g, "Client Thread", y, false); - for (Entry t : client.getTimes()) { + List> times = new ArrayList<>(client.getTimes()); + Collections.sort(times, new Comparator>() { + @Override + public int compare(Entry o1, Entry o2) { + return o1.getKey().compareToIgnoreCase(o2.getKey()); + } + }); + for (Entry t : times) { y = drawDebugLineLabel(g, t.getKey(), (t.getValue() / 1000) + "", y, false); } } @@ -557,7 +582,14 @@ public void postRender(Game game, Renderer renderer) throws RenderException { DebugFrame server = ServerManager.getServer().getDebugFrame(); if (server != null) { y = drawDebugTitle(g, "Server Thread", y, false); - for (Entry t : server.getTimes()) { + List> times = new ArrayList<>(server.getTimes()); + Collections.sort(times, new Comparator>() { + @Override + public int compare(Entry o1, Entry o2) { + return o1.getKey().compareToIgnoreCase(o2.getKey()); + } + }); + for (Entry t : times) { y = drawDebugLineLabel(g, t.getKey(), (t.getValue() / 1000) + "", y, false); } }