François Gautrais 8 yıl önce
ebeveyn
işleme
3aa95c7f6e

+ 27 - 16
app/src/main/java/app/brest/testmin3d/ARActivity.java

@@ -28,6 +28,7 @@ import app.brest.utils.ResourceManager;
 import app.brest.utils.SensorsManager;
 import app.brest.utils.app.brest.game.Game;
 import app.brest.utils.app.brest.game.Resource;
+import app.brest.utils.app.brest.game.Stage;
 import app.brest.utils.geometry.GPSPoint;
 import min3d.core.Object3d;
 import min3d.core.Object3dContainer;
@@ -73,6 +74,11 @@ public class ARActivity extends RendererActivity
 
         mOkButton = (Button) findViewById(R.id.button_catch);
         mOkButton.setVisibility(View.INVISIBLE);
+        if(cameraPreviewLayout.getChildCount()<2)
+        {
+            cameraPreviewLayout.addView(mImageSurfaceView,0);
+            cameraPreviewLayout.addView(_glSurfaceView,1);
+        }
 
     }
 
@@ -88,9 +94,7 @@ public class ARActivity extends RendererActivity
 
     protected void onCreateSetContentView()
     {
-        init();
-        cameraPreviewLayout.addView(mImageSurfaceView,0);
-        cameraPreviewLayout.addView(_glSurfaceView,1);
+        //init();
 
     }
 
@@ -181,7 +185,8 @@ public class ARActivity extends RendererActivity
     {
         super.onCreate(savedInstanceState);
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
-        mGame = (Game) getIntent().getSerializableExtra("game");
+        //mGame = (Game) getIntent().getSerializableExtra("game");
+        mGame = Game.game();
         mGame.newSensorManager(this);
 
 
@@ -250,6 +255,7 @@ public class ARActivity extends RendererActivity
     @Override
     protected  void onResume() {
         super.onResume();
+        init();
         mGame.onResume(this);
         scene.clear();
         synchronized (mLock)
@@ -267,6 +273,8 @@ public class ARActivity extends RendererActivity
         super.onPause();
         mGame.onPause(this);
         scene.clear();
+        cameraPreviewLayout.removeViewAt(0);
+        cameraPreviewLayout.removeViewAt(0);
 
     }
 
@@ -300,14 +308,11 @@ public class ARActivity extends RendererActivity
 
     public void onClickPickUp(View v)
     {
+        Resource res = null;
         boolean stageFinished = mGame.pickResource();
         boolean finished = false;
-        mGame.printNResource("Pick up");
+        res=mGame.getLatestResource();
 
-        //TDOD: Nouvelle activité pour afficher la ressource
-        /*Intent intent = new Intent(this, ResourceListActivity.class);
-        intent.putExtra("game", mGame );
-        startActivity(intent);
 
         if(stageFinished)
         {
@@ -317,18 +322,24 @@ public class ARActivity extends RendererActivity
         if(finished)
         {
 
-        }*/
-
+        }
 
+        if(stageFinished)
+        {
+            Stage s = mGame.getCurrentStageObj();
+            Resource stageRes = s.getResource();
+            Intent intent = new Intent(this, ViewerActivity.class);
+            intent.putExtra("resource", stageRes );
+            startActivity(intent);
+        }
 
+        Intent intent = new Intent(this, ViewerActivity.class);
+        intent.putExtra("resource", res );
+        startActivity(intent);
+        finish();
     }
 
 
-    public void logCuurentAreas()
-    {
-
-    }
-
     public static void setLocation(GPSPoint p)
     {
         mLocation = p;

+ 26 - 14
app/src/main/java/app/brest/testmin3d/MenuActivity.java

@@ -26,6 +26,8 @@ public class MenuActivity extends AppCompatActivity {
     protected ImageButton mIInventaire;
     protected ImageButton mIOptions;
     protected ImageButton mIScanner;
+    protected ImageButton mIBriefing;
+    protected ImageButton mINextStage;
 
 
     @Override
@@ -33,33 +35,25 @@ public class MenuActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_menu);
 
-        Display display = getWindowManager().getDefaultDisplay();
-        Point size = new Point();
-        display.getSize(size);
-        int width = size.x;
-        int height = size.y;
-        int buttonHieght = (height-5*40)/6;
         mICarte = (ImageButton) findViewById(R.id.ib_carte);
         mIInventaire = (ImageButton) findViewById(R.id.ib_inventaire);
         mIOptions = (ImageButton) findViewById(R.id.ib_options);
         mIScanner = (ImageButton) findViewById(R.id.ib_scanner);
-
-        mICarte.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
-        mIInventaire.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
-        mIOptions.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
-        mIScanner.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
+        mIBriefing = (ImageButton) findViewById(R.id.ib_briefing);
 
 
         Game g = null;//Game.load(this);
 
         if (g!= null && mGame==null) {
             mGame = g;
+            Game.setGame(mGame);
             mGame.newSensorManager(this);
             Toast.makeText(this, "Chargement", Toast.LENGTH_LONG).show();
         }
         else if( mGame==null)
         {
             mGame = new Game("game_medium", this);
+            Game.setGame(mGame);
             Toast.makeText(this, "Nouveau Jeu", Toast.LENGTH_LONG).show();
         }else if( mGame==null)
         {
@@ -68,18 +62,30 @@ public class MenuActivity extends AppCompatActivity {
         }
         if(mGame!=null)
         {
-            mGame.pickResource("b");
+            /*
+            mGame.pickR  esource("b");
             mGame.pickResource("c");
             mGame.pickResource("d");
             mGame.pickResource("e");
+            */
         }
     }
 
     public void onResume()
     {
         super.onResume();
-        mGame.printNResource("N res Resume");
-        Log.e("________", "mGame : "+mGame);
+        Display display = getWindowManager().getDefaultDisplay();
+        Point size = new Point();
+        display.getSize(size);
+        int width = size.x;
+        int height = size.y;
+        int buttonHieght = (height-5*40)/6;
+
+        mICarte.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
+        mIInventaire.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
+        mIOptions.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
+        mIScanner.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
+        mIBriefing.setLayoutParams(new LinearLayout.LayoutParams(buttonHieght, buttonHieght));
     }
 
     public void onOptionsClick(View v)
@@ -121,4 +127,10 @@ public class MenuActivity extends AppCompatActivity {
         intent.putExtra("resource", r );
         startActivity(intent);
     }
+
+
+    public void onSendClick(View v)
+    {
+        //TODO : Transmssion des donnes
+    }
 }

+ 6 - 2
app/src/main/java/app/brest/utils/ResourceManager.java

@@ -21,7 +21,7 @@ public class ResourceManager implements Serializable{
     protected ArrayList<Resource> mAllResources = new ArrayList<Resource>();
     protected ArrayList< ArrayList<Resource> > mResourcesAquiered  = new ArrayList<ArrayList<Resource> >();
     protected ArrayList<Resource> mResourcesLeft  = new ArrayList<Resource>();
-
+    protected Resource mLatestResource = null;
     public ResourceManager(Game g, Activity act)
     {
         mAllResources = g.getAllResources(act);
@@ -54,11 +54,11 @@ public class ResourceManager implements Serializable{
             {
 
                 mResourcesAquiered.get(mResourcesAquiered.size()-1).add(mResourcesLeft.get(i));
+                mLatestResource = mResourcesLeft.get(i);
                 mResourcesLeft.remove(i);
                 return true;
             }
         }
-        Log.e("________", "aucune ressource ajoutée");
         return false;
     }
 
@@ -97,4 +97,8 @@ public class ResourceManager implements Serializable{
         return mResourcesLeft.size();
     }
 
+    public Resource getLatestResource()
+    {
+        return mLatestResource;
+    }
 }

+ 22 - 9
app/src/main/java/app/brest/utils/app/brest/game/Game.java

@@ -27,7 +27,7 @@ import app.brest.utils.Settings;
  * Created by ptitcois on 19/08/16.
  */
 public class Game  implements Serializable {
-
+    private static Game gGame = null;
     protected ArrayList<Area>  mAreas = new ArrayList<Area>();
     protected ArrayList<Area>  mCurrentStageAreas = new ArrayList<Area>();
     protected ArrayList<Stage> mStages = new ArrayList<Stage>();
@@ -40,7 +40,6 @@ public class Game  implements Serializable {
 
     public Game(String name, Activity act)
     {
-        Log.e("_______", "Nouveau jeu");
         JSONObject root = JSONLoader.load(act, name);
         mName=name;
         mPlayer = new Player(act);
@@ -142,16 +141,16 @@ public class Game  implements Serializable {
     public boolean pickResource()
     {
         ArrayList<Resource> r = getResourcesNextToPlayer();
-        Log.e("_______", "N Res Left : "+mResources.getNResourceAcquired());
         for(int i=0; i<r.size(); i++) {
-            for (int j = 0; j < mCurrentStageAreas.size(); j++)
-                if (r.get(i).getName().compareTo(mCurrentStageAreas.get(j).getName())==0) {
+            for (int j = 0; j < mCurrentStageAreas.size(); j++) {
+
+                if (r.get(i).getName().compareTo(mCurrentStageAreas.get(j).getName()) == 0 &&
+                        r.get(i).getStage() == mCurrentStage) {
                     removeArea(j);
                 }
+            }
             pickResource(r.get(i).getName());
         }
-        Log.e("_______", "N Res Left : "+mResources.getNResourceAcquired());
-        Log.e("_______", toString()+"____________________________\n");
         return mCurrentStageAreas.size()==0;
     }
 
@@ -168,7 +167,10 @@ public class Game  implements Serializable {
         return mCurrentStageAreas.size()==0;
     }
 
-
+    public Resource getLatestResource()
+    {
+        return mResources.getLatestResource();
+    }
 
 
     public String toString()
@@ -306,7 +308,7 @@ public class Game  implements Serializable {
             if(b)
             {
 
-                if(mCurrentStageAreas.get(i).isOnDirection(mPlayer))
+                if(i<mCurrentStageAreas.size() && mCurrentStageAreas.get(i).isOnDirection(mPlayer))
                 {
                     r.add(mResources.getResourceLeftByName(mCurrentStageAreas.get(i).getResourceName()));
                 }
@@ -366,4 +368,15 @@ public class Game  implements Serializable {
     {
         Log.e("_______", str+" : "+mResources.getNResourceAcquired());
     }
+
+
+    public static void setGame(Game m)
+    {
+        gGame=m;
+    }
+
+    public static Game game()
+    {
+        return gGame;
+    }
 }

+ 3 - 0
app/src/main/java/app/brest/utils/app/brest/game/Resource.java

@@ -63,6 +63,7 @@ public class Resource implements Serializable {
     {
         mName=name;
         loadResourceData(act);
+        Log.e("_____", "Stage = "+ mStage);
     }
 
     public Resource(JSONObject obj, Activity act)
@@ -70,6 +71,7 @@ public class Resource implements Serializable {
         try {
             mName=obj.getString("name");
             loadResourceData(act);
+            Log.e("_____", "Stage == "+ mStage);
         } catch (JSONException e) {
             e.printStackTrace();
         }
@@ -101,6 +103,7 @@ public class Resource implements Serializable {
         JSONObject jo = new JSONObject();
         try {
             jo.put("name", mName);
+            jo.put("stage", mStage);
         } catch (JSONException e) {
             e.printStackTrace();
         }