From 72a610fd0ceb81aca561049b1bb14d8289983dd6 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Fri, 24 Feb 2023 09:05:47 -0500 Subject: [PATCH] Seconds remaining calculated only once. --- src/engine/gameManager/ZoneManager.java | 2 +- src/engine/net/client/msg/HotzoneChangeMsg.java | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/engine/gameManager/ZoneManager.java b/src/engine/gameManager/ZoneManager.java index 53885f1c..66211db9 100644 --- a/src/engine/gameManager/ZoneManager.java +++ b/src/engine/gameManager/ZoneManager.java @@ -156,7 +156,7 @@ public enum ZoneManager { ZoneManager.hotZone = zone; ZoneManager.hotZoneCycle = 1; // Used with HOTZONE_DURATION from config. zone.hasBeenHotzone = true; - hotZoneLastUpdate = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant(); + ZoneManager.hotZoneLastUpdate = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant(); } diff --git a/src/engine/net/client/msg/HotzoneChangeMsg.java b/src/engine/net/client/msg/HotzoneChangeMsg.java index aa570a33..9fc1a665 100644 --- a/src/engine/net/client/msg/HotzoneChangeMsg.java +++ b/src/engine/net/client/msg/HotzoneChangeMsg.java @@ -19,13 +19,15 @@ import engine.net.client.Protocol; import java.time.Duration; import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; public class HotzoneChangeMsg extends ClientNetMsg { private int zoneType; private int zoneID; - private Duration endOfCycle; + private int secondsRemaining; /** * This is the general purpose constructor. @@ -36,8 +38,8 @@ public class HotzoneChangeMsg extends ClientNetMsg { this.zoneID = zoneID; int hotZoneDuration = Integer.parseInt(ConfigManager.MB_HOTZONE_DURATION.getValue()); - - endOfCycle = Duration.between(Instant.now(), ZoneManager.hotZoneLastUpdate.plusSeconds(hotZoneDuration * 3600)); + Instant currentInstant = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant(); + secondsRemaining = (int) Duration.between(currentInstant, ZoneManager.hotZoneLastUpdate.plusSeconds(hotZoneDuration * 3600)).getSeconds(); } @@ -59,7 +61,7 @@ public class HotzoneChangeMsg extends ClientNetMsg { protected void _serialize(ByteBufferWriter writer) { writer.putInt(this.zoneType); writer.putInt(this.zoneID); - writer.putInt((int) endOfCycle.getSeconds()); + writer.putInt(secondsRemaining); } /**