From b69ec7c87f555b3455e456196dc5634f359a8eb3 Mon Sep 17 00:00:00 2001 From: Sam Date: Sat, 30 Dec 2017 20:58:19 +0000 Subject: [PATCH] Add a custom data point that allows maps to have custom time values --- .../game/arcade/managers/GameFlagManager.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java index 3cae0a2c2..a5499c533 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameFlagManager.java @@ -81,6 +81,7 @@ import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.GameTeam.PlayerState; import nautilus.game.arcade.kit.perks.event.PerkDestructorBlockEvent; +import nautilus.game.arcade.world.WorldData; public class GameFlagManager implements Listener { @@ -1076,6 +1077,39 @@ public class GameFlagManager implements Listener } } } + + @EventHandler + public void customWorldTime(GameStateChangeEvent event) + { + if (event.GetState() != GameState.Recruit) + { + return; + } + + WorldData worldData = event.GetGame().WorldData; + + worldData.GetAllCustomLocs().forEach((key, value) -> + { + if (key.startsWith("TIME_SET")) + { + String[] split = key.split(" "); + + if (split.length < 2) + { + return; + } + + try + { + event.GetGame().WorldTimeSet = Integer.parseInt(split[1]); + } + catch (NumberFormatException e) + { + event.GetGame().Announce(F.main("Game", "Warning! Invalid TIME_SET data point.")); + } + } + }); + } @EventHandler public void WorldWeather(UpdateEvent event)