Przeglądaj źródła

Reworking team-size condition for game start

RedstoneFuture 1 rok temu
rodzic
commit
1db4e9a10f

+ 12 - 10
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java

@@ -48,18 +48,15 @@ public class LobbyTimer extends Timer implements Runnable {
             if (mwPlayer.getPlayer() == null) continue;
             mwPlayer.getPlayer().setLevel(seconds);
         }
-
-        int size1 = getGame().getTeam1().getMembers().size();
-        int size2 = getGame().getTeam2().getMembers().size();
-
-        if (size1 == 0 || size2 == 0) {
+        
+        if (hasEmptyPlayerTeam()) {
             seconds = startTime;
             return;
         }
-
+        
         --remaining;
         if (remaining == 0) {
-            if (size1 + size2 < getGame().getLobby().getMinSize()) {
+            if (getGame().areToFewPlayers()) {
                 seconds = startTime;
                 remaining = 90;
                 broadcast(Messages.getMessage(true, Messages.MessageEnum.LOBBY_NOT_ENOUGH_PLAYERS));
@@ -86,8 +83,7 @@ public class LobbyTimer extends Timer implements Runnable {
                 playPling();
                 break;
             case 0:
-                int diff = size1 - size2;
-                if (diff >= 2 || diff <= -2) {
+                if (hasEmptyPlayerTeam()) {
                     broadcast(Messages.getMessage(true, Messages.MessageEnum.LOBBY_TEAMS_UNEQUAL));
                     seconds = startTime;
                     return;
@@ -116,5 +112,11 @@ public class LobbyTimer extends Timer implements Runnable {
         playPling();
         getGame().startGame();
     }
-
+    
+    private boolean hasEmptyPlayerTeam() {
+        int size1 = getGame().getTeam1().getMembers().size();
+        int size2 = getGame().getTeam2().getMembers().size();
+        
+        return ((size1 == 0) || (size2 == 0));
+    }
 }