瀏覽代碼

use switch-case for timer

RedstoneFuture 3 年之前
父節點
當前提交
3d9b26d6e7

+ 13 - 5
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/EndTimer.java

@@ -34,11 +34,19 @@ public class EndTimer extends Timer {
 
     @Override
     public void tick() {
-        if (seconds == 20)
-            broadcast(MessageConfig.getMessage("game_starts_new_in").replace("%seconds%", "" + seconds));
-        else if (seconds == 0)
-            getGame().reset();
-        --seconds;
+
+        switch(seconds) {
+            case 20:
+                broadcast(MessageConfig.getMessage("game_starts_new_in").replace("%seconds%", Integer.toString(seconds)));
+                break;
+            case 0:
+                getGame().reset();
+                break;
+            default:
+                break;
+        }
+
+        seconds--;
     }
 
 }

+ 30 - 36
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/GameTimer.java

@@ -34,43 +34,37 @@ public class GameTimer extends Timer {
 
     @Override
     public void tick() {
-        if (seconds == 7200) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "120"));
-        } else if (seconds == 5400) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "90"));
-        } else if (seconds == 3600) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "60"));
-        } else if (seconds == 1800) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "30"));
-        } else if (seconds == 1200) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "20"));
-        } else if (seconds == 600) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "10"));
-        } else if (seconds == 300) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "5"));
-        } else if (seconds == 180) {
-            broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", "3"));
-        } else if (seconds == 60) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "60"));
-        } else if (seconds == 30) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "30"));
-        } else if (seconds == 10) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "10"));
-        } else if (seconds == 5) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "5"));
-        } else if (seconds == 4) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "4"));
-        } else if (seconds == 3) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "3"));
-        } else if (seconds == 2) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "2"));
-        } else if (seconds == 1) {
-            broadcast(MessageConfig.getMessage("game_ends_in_seconds").replace("%seconds%", "1"));
-        } else if (seconds == 0) {
-            getGame().stopGame();
+
+        switch(seconds) {
+            case 7200:
+            case 5400:
+            case 3600:
+            case 1800:
+            case 1200:
+            case 600:
+            case 300:
+            case 180:
+            case 60:
+            case 30:
+            case 10:
+            case 5:
+            case 4:
+            case 3:
+            case 2:
+            case 1:
+                broadcast(MessageConfig.getMessage("game_ends_in_minutes").replace("%minutes%", Integer.toString(seconds)));
+                break;
+            case 0:
+                getGame().stopGame();
+                break;
+            default:
+                break;
         }
-        if (seconds % 10 == 0)
+
+        if (seconds % 10 == 0) {
             getGame().getScoreboardManager().updateInGameScoreboard();
-        --seconds;
+        }
+
+        seconds--;
     }
 }

+ 32 - 39
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java

@@ -25,6 +25,7 @@ import de.butzlabben.missilewars.util.version.VersionUtil;
 import de.butzlabben.missilewars.wrapper.abstracts.Arena;
 import de.butzlabben.missilewars.wrapper.abstracts.MapChooseProcedure;
 import de.butzlabben.missilewars.wrapper.player.MWPlayer;
+
 import java.util.Map;
 import java.util.Optional;
 
@@ -71,48 +72,40 @@ public class LobbyTimer extends Timer implements Runnable {
             remaining = 90;
             broadcast(MessageConfig.getMessage("not_enough_players"));
         }
-        if (seconds == 120) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "120"));
-            playPling();
-        } else if (seconds == 60) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "60"));
-            playPling();
-        } else if (seconds == 30) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "30"));
-            playPling();
-        } else if (seconds == 10) {
-            checkVote();
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "10"));
-            playPling();
-        } else if (seconds == 5) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "5"));
-            playPling();
-        } else if (seconds == 4) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "4"));
-            playPling();
-        } else if (seconds == 3) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "3"));
-            playPling();
-        } else if (seconds == 2) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "2"));
-            playPling();
-        } else if (seconds == 1) {
-            broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", "1"));
-            playPling();
 
-        } else if (seconds == 0) {
-            int diff = size1 - size2;
-            if (diff >= 2 || diff <= -2) {
-                broadcast(MessageConfig.getMessage("teams_unequal"));
-                seconds = startTime;
+        switch(seconds) {
+            case 120:
+            case 60:
+            case 30:
+            case 5:
+            case 4:
+            case 3:
+            case 2:
+            case 1:
+                broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", Integer.toString(seconds)));
+                playPling();
+                break;
+            case 10:
+                checkVote();
+                broadcast(MessageConfig.getMessage("game_starts_in").replace("%seconds%", Integer.toString(seconds)));
+                playPling();
+                break;
+            case 0:
+                int diff = size1 - size2;
+                if (diff >= 2 || diff <= -2) {
+                    broadcast(MessageConfig.getMessage("teams_unequal"));
+                    seconds = startTime;
+                    return;
+                }
+                broadcast(MessageConfig.getMessage("game_starts"));
+                playPling();
+                getGame().startGame();
                 return;
-            }
-            broadcast(MessageConfig.getMessage("game_starts"));
-            playPling();
-            getGame().startGame();
-            return;
+            default:
+                break;
         }
-        --seconds;
+
+        seconds--;
     }
 
     private void playPling() {