|
2 | 2 |
|
3 | 3 | import net.onelitefeather.cygnus.event.GameStartEvent; |
4 | 4 | import net.onelitefeather.cygnus.listener.game.GameStartListener; |
| 5 | +import net.onelitefeather.cygnus.listener.view.ViewUpdateListener; |
5 | 6 | import net.onelitefeather.cygnus.map.GameMapProvider; |
6 | 7 | import net.onelitefeather.cygnus.map.event.GameMapLoadedEvent; |
| 8 | +import net.onelitefeather.cygnus.view.event.ViewUpdateEvent; |
7 | 9 | import net.theevilreaper.aves.map.provider.AbstractMapProvider; |
8 | | -import net.theevilreaper.aves.util.Strings; |
9 | | -import net.theevilreaper.aves.util.TimeFormat; |
10 | 10 | import net.theevilreaper.aves.util.functional.VoidConsumer; |
11 | 11 | import net.theevilreaper.xerus.api.phase.LinearPhaseSeries; |
12 | 12 | import net.theevilreaper.xerus.api.phase.Phase; |
13 | 13 | import net.theevilreaper.xerus.api.phase.TimedPhase; |
14 | 14 | import net.theevilreaper.xerus.api.team.TeamService; |
15 | | -import net.kyori.adventure.text.Component; |
16 | 15 | import net.minestom.server.MinecraftServer; |
17 | 16 | import net.minestom.server.entity.Player; |
18 | 17 | import net.minestom.server.event.player.AsyncPlayerConfigurationEvent; |
|
26 | 25 | import net.onelitefeather.cygnus.ambient.AmbientProvider; |
27 | 26 | import net.onelitefeather.cygnus.command.StartCommand; |
28 | 27 | import net.onelitefeather.cygnus.common.ListenerHandling; |
29 | | -import net.onelitefeather.cygnus.common.Messages; |
30 | 28 | import net.onelitefeather.cygnus.common.config.GameConfig; |
31 | 29 | import net.onelitefeather.cygnus.common.config.GameConfigReader; |
32 | 30 | import net.onelitefeather.cygnus.common.event.GamePreLaunchEvent; |
@@ -98,7 +96,7 @@ public Cygnus() { |
98 | 96 | MinecraftServer.getConnectionManager().setPlayerProvider(CygnusPlayer::new); |
99 | 97 | this.pageProvider = new PageProvider(this::handleAllPageFound); |
100 | 98 | this.mapProvider = new GameMapProvider(path); |
101 | | - this.view = new GameViewImpl(this::getViewComponent); |
| 99 | + this.view = new GameViewImpl(); |
102 | 100 | this.createTeams(this.gameConfig, this.teamService, this.ambientProvider); |
103 | 101 | this.initPhases(); |
104 | 102 | this.initCommands(); |
@@ -155,6 +153,8 @@ private void registerGameListener() { |
155 | 153 | SlenderReviveEvent.class, new SlenderReviveListener(((GameMapProvider) this.mapProvider).getGameMap(), this.staminaService)); |
156 | 154 | manager.addListener(GamePreLaunchEvent.class, new GamePreLaunchListener(this.pageProvider::setMaxPageAmount)); |
157 | 155 | manager.addListener(StaminaStateChangeEvent.class, new StaminaStateChangeListener()); |
| 156 | + manager.addListener(ViewUpdateEvent.class, new ViewUpdateListener(this.view, this.pageProvider)); |
| 157 | + |
158 | 158 | MinecraftServer.getPacketListenerManager().setPlayListener(ClientEntityActionPacket.class, CygnusEntityActionListener::listener); |
159 | 159 | } |
160 | 160 |
|
@@ -183,14 +183,6 @@ private void finishGame() { |
183 | 183 | MinecraftServer.getPacketListenerManager().setPlayListener(ClientEntityActionPacket.class, EntityActionListener::listener); |
184 | 184 | } |
185 | 185 |
|
186 | | - private @NotNull Component getViewComponent() { |
187 | | - var gamePhase = (GamePhase) this.linearPhaseSeries.getCurrentPhase(); |
188 | | - return Messages.getViewComponent( |
189 | | - Strings.getTimeString(TimeFormat.MM_SS, gamePhase.getCurrentTicks()), |
190 | | - this.pageProvider.getPageStatus() |
191 | | - ); |
192 | | - } |
193 | | - |
194 | 186 | private void triggerViewRuleUpdate(@NotNull Player player) { |
195 | 187 | ViewRuleUpdater.updateViewer(player, this.teamService.getTeams().get(Helper.SURVIVOR_ID)); |
196 | 188 | } |
|
0 commit comments