From 4563a45142bcba1fccbbbe1b5639938533edd57b Mon Sep 17 00:00:00 2001
From: ALGLAVE Ivan <ivan.alglave8@etu.univ-lorraine.fr>
Date: Mon, 28 Dec 2020 19:55:19 +0100
Subject: [PATCH] Fixed sound duplication on player - ball collision

---
 .../com/mygdx/game/GameScreens/GamePlay.java  | 42 ++++++++++++++-----
 1 file changed, 31 insertions(+), 11 deletions(-)

diff --git a/core/src/com/mygdx/game/GameScreens/GamePlay.java b/core/src/com/mygdx/game/GameScreens/GamePlay.java
index 45cf9b5..5c02b22 100644
--- a/core/src/com/mygdx/game/GameScreens/GamePlay.java
+++ b/core/src/com/mygdx/game/GameScreens/GamePlay.java
@@ -211,8 +211,17 @@ public class GamePlay extends GameScreen
             }
         }
         else {
-            if(pleft.getContactStatus().equals("1")) pleft.setContactStatus(2);
-            if(pright.getContactStatus().equals("1")) pright.setContactStatus(2);
+            if(pleft.getContactStatus().equals("1"))
+            {
+                pleft.setContactStatus(2);
+                String s = pleft.getContactStatus();
+            }
+            if(pright.getContactStatus().equals("1"))
+            {
+                pright.setContactStatus(2);
+                String s = pright.getContactStatus();
+                int a = 1;
+            }
             for(Contact contact : world.getContactList())
             {
                 Object dataA = contact.getFixtureA().getUserData();
@@ -240,12 +249,16 @@ public class GamePlay extends GameScreen
                     }
                     if((objA.equals("player") || objA.equals("ball")) && (objB.equals("player") || objB.equals("ball")) && (!objA.equals(objB)))
                     {
-                        boolean playSound = false;
                         if(objA.equals("player"))
                         {
                             if(strDataA[1].equals("0"))
                             {
-                                playSound = true;
+                                shoot_sound.play();
+                                strDataA[1] = "1";
+                                contact.getFixtureA().setUserData(strDataA);
+                            }
+                            else if(strDataA[1].equals("2"))
+                            {
                                 strDataA[1] = "1";
                                 contact.getFixtureA().setUserData(strDataA);
                             }
@@ -254,20 +267,27 @@ public class GamePlay extends GameScreen
                         {
                             if(strDataB[1].equals("0"))
                             {
-                                playSound = true;
+                                shoot_sound.play();
+                                strDataB[1] = "1";
+                                contact.getFixtureB().setUserData(strDataB);
+                            }
+                            else if (strDataB[1].equals("2"))
+                            {
                                 strDataB[1] = "1";
                                 contact.getFixtureB().setUserData(strDataB);
                             }
-                        }
-                        if(playSound)
-                        {
-                            shoot_sound.play();
                         }
                     }
                 }
             }
-            if(pleft.getContactStatus().equals("2")) pleft.setContactStatus(0);
-            if(pright.getContactStatus().equals("2")) pright.setContactStatus(0);
+            if(pleft.getContactStatus().equals("2"))
+            {
+                pleft.setContactStatus(0);
+            }
+            if(pright.getContactStatus().equals("2"))
+            {
+                pright.setContactStatus(0);
+            }
             if(isAI) pleft.interact(ball.getPos());
             else pleft.interact(pressed(Input.Keys.Q), pressed(Input.Keys.D), pressed(Input.Keys.Z), pressed(Input.Keys.S));
             pright.interact(pressed(Input.Keys.J), pressed(Input.Keys.L), pressed(Input.Keys.I), pressed(Input.Keys.K));
-- 
GitLab