From 14a641dc01b8cffd1ae16c6ee76df9780a485a05 Mon Sep 17 00:00:00 2001
From: JulietteSCHILLING <juliette.schilling2@etu.univ-lorraine.fr>
Date: Tue, 13 Dec 2022 13:37:20 +0100
Subject: [PATCH] dernieres petite verifs avant rendu final

---
 .../myhabitat/ModeImmersionActivity.java      | 25 ++++++++++++++-----
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java b/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java
index 2228636..3decbe8 100644
--- a/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java
+++ b/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java
@@ -347,7 +347,14 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv
         spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
             @Override
             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-                goToPiece = habitat.getPieces().get(position);
+                Piece goTo = habitat.getPieces().get(position);
+                //On verifie que la piece soit accessible
+                for(Ouverture ouverture : habitat.getOuvertures()){
+                    if(goTo.getMurs().contains(ouverture.getMurArrivee()) || goTo.getMurs().contains(ouverture.getMurDepart())){
+                        goToPiece = habitat.getPieces().get(position);
+                    }
+                }
+
                 //Log.i("testGoTo", "je choisis la piece " + goTo.getNom());
             }
 
@@ -361,7 +368,11 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv
         alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {
-                goToSuite();
+                if(goToPiece != null){
+                    goToSuite();
+                }else{
+                    Toast.makeText(getBaseContext(), "Piece inaccessible !", Toast.LENGTH_SHORT).show();
+                }
             }
         });
         alertDialog.show();
@@ -464,10 +475,12 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv
             }
 
         }else{
-            goToRect = null;
-            goToPiece = null;
-            imageViewFleche.setVisibility(View.INVISIBLE);
-            Toast.makeText(getBaseContext(), "Vous êtes arrivé !", Toast.LENGTH_SHORT).show();
+            if(goToPiece != null) {
+                goToRect = null;
+                goToPiece = null;
+                imageViewFleche.setVisibility(View.INVISIBLE);
+                Toast.makeText(getBaseContext(), "Vous êtes arrivé !", Toast.LENGTH_SHORT).show();
+            }
         }
     }
 }
\ No newline at end of file
-- 
GitLab