diff --git a/src/jnet/client/ClientMessageParser.java b/src/jnet/client/ClientMessageParser.java index 740d3c8..9ce9e7c 100644 --- a/src/jnet/client/ClientMessageParser.java +++ b/src/jnet/client/ClientMessageParser.java @@ -109,6 +109,7 @@ public class ClientMessageParser { // aktualizace UI UIUpdater.updateMapTree(); UIUpdater.updateTray(); + break; } } @@ -154,6 +155,8 @@ public class ClientMessageParser { for (Map map : Client.maps) { if (map.getId() == mo.getMap()) { map.getObjects().add(mo); + UIUpdater.updateMapView(); + break; } } } diff --git a/src/jnet/client/gui/MapView.java b/src/jnet/client/gui/MapView.java index 26c454f..c7e6ce1 100644 --- a/src/jnet/client/gui/MapView.java +++ b/src/jnet/client/gui/MapView.java @@ -21,6 +21,8 @@ import jnet.lib.object.MapObject; public class MapView extends JPanel { public static List paintObjects = new ArrayList<>(); + + private BufferedImage lockImage; private BufferedImage unlockImage; @@ -79,6 +81,15 @@ public class MapView extends JPanel { loadObject(map.getId()); } } + + public static void updateMapView() { + if (map.equals(MapView.map)) { + // obnoveni objektu + paintObjects.clear(); + // nahrat objekty + loadObject(map.getId()); + } + } private static void loadObject(int mapId) { for (Map map : Client.maps) { diff --git a/src/jnet/client/gui/UIUpdater.java b/src/jnet/client/gui/UIUpdater.java index 6b3943f..389c76e 100644 --- a/src/jnet/client/gui/UIUpdater.java +++ b/src/jnet/client/gui/UIUpdater.java @@ -1,6 +1,7 @@ package jnet.client.gui; import javax.swing.SwingUtilities; +import jnet.lib.object.Map; public class UIUpdater { @@ -23,5 +24,11 @@ public class UIUpdater { Tray.refresh(); }); } + + public static void updateMapView() { + SwingUtilities.invokeLater(() -> { + MapView.updateMapView(); + }); + } }