diff --git a/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java b/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java index 2228636b026518a26b726d13026382c631a9844c..3decbe86eb11a24f3d9338d2963fa232d647f4cf 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