package stage;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import engineManagers.InputManager;
import engineManagers.ScoreManager;
import objects.GameObject;
import objects.Player;

public class Game {
	
	protected Map<Integer, Level> myLevels;
	protected Player myPlayer;
	protected int numLevels;
	protected ScoreManager myScoreManager;
	protected InputManager myKeyInputManager;
	//protected TimerManager myTimerManager
	
	public Game(){
		numLevels = 0;
	}
	
	public void addLevel(Level level) {
		numLevels++;
		myLevels.put(numLevels, level);
	}
	
	public void addScene(int levelID, Scene scene){
		myLevels.get(levelID).addScene(scene);
	}
	
	public void addObject(int levelID, int sceneID, GameObject object){
		myLevels.get(levelID).addObject(sceneID, object);
	}
	
	public GameObject getGameObject(int levelID, int sceneID, int objectID){
		return myLevels.get(levelID).getObject(sceneID, objectID);
	}
	
	public Scene getScene(int levelID, int sceneID){
		return myLevels.get(levelID).getScene(sceneID);
	}
	
	public void removeScene(int levelID, int sceneID) {
		myLevels.get(levelID).removeScene(sceneID);
	}
	
	public void removeLevel(int levelID) {
		myLevels.remove(levelID);
	}
	
	public void resetLevelID(int initialLevelID, int newLevelID) {
		
	}
	
	public List<List> getAttributes() {
		List<List> result = new ArrayList<List>();
		for (Integer i : myLevels.keySet() ) {
			result.add(myLevels.get(i).getAttributes());
		}
		return result;
	}

}

@@ -177,24 +177,60 @@
 oreManager;%0A
+import engineManagers.TimerManager;%0A
 import objec
@@ -290,16 +290,62 @@
 ame %7B%0A%09%0A
+%09public static final int DEFAULT_SCORE = 0;%0A%09%0A
 %09protect
@@ -501,11 +501,8 @@
 r my
-Key
 Inpu
@@ -516,10 +516,8 @@
 r;%0A%09
-//
 prot
@@ -549,16 +549,17 @@
 rManager
+;
 %0A%09%0A%09publ
@@ -586,16 +586,190 @@
 ls = 0;%0A
+%09%09myLevels = new HashMap%3CInteger, Level%3E();%0A%09%09myScoreManager = new ScoreManager(DEFAULT_SCORE);%0A%09%09myInputManager = new InputManager();%0A%09%09myTimerManager = new TimerManager();%0A
 %09%7D%0A%09%0A%09pu
@@ -943,32 +943,109 @@
 ne(scene);%0A%09%7D%0A%09%0A
+%09public void setPlayer(GameObject object)%7B%0A%09%09myPlayer = (Player)object;%0A%09%7D%0A%09%0A
 %09public void add

modify Game object