#pragma once

#include "ofAddons.h"
#include "ofMain.h"

#include "cardDef.h"

#include "arPlane.h"
#include "arPlaneGuiScene.h"
#include "diagnosticScene.h"
#include "sonarScene.h"
#include "bouncerScene.h"
///#include "ghostScene.h"
#include "testScene.h"
#include "collisionScene.h"

class sceneManager : public ofMouseListener, public ofKeyListener, public ofAppListener{
		
	public:
		//----------------------------	
		sceneManager();
		void setup(int camW, int camH, int screenW, int screenH);		
		void passCurrentCards(vector <card> cardsIn);
		void passAllCards(vector <card> cardsIn);
		
		//just key presses for now
		void keyPressed( int key );
		void keyReleased( int key );
		
		//----------------------------
		void showScene(int theScene);
		void hideScene(int theScene);
		void pauseScene(int theScene);
		void playScene(int theScene);
		void soloScene(int theScene);
		
		void toggleDiagnoisticScene();
		
		int getNumScenes(){
			return scenes.size();
		}
		
		vector <card> allCards;
		vector <card> currentCards;
		
		arPlane singlePlane;
		arPlaneGuiScene arPlaneGui;
		
		//ghostScene ghost;
		bouncerScene bouncer;
		sonarScene sonar;
		diagnosticScene diagnostic;
		testScene tester;
		collisionScene colisioner;
	
	
	
		vector <baseCardScene *> scenes;
		
		int whichScene;

};