public void LoadObject(StreamReader inStream) { this.width = Int32.Parse(inStream.ReadLine()); this.height = Int32.Parse(inStream.ReadLine()); terrainField = new Terrain[getWidth(),getHeight()]; for(int x=0; x < getWidth(); x++) { for(int y=0; y < getHeight(); y++) { Terrain newTerrain = new Terrain(); newTerrain.LoadObject(inStream); terrainField[x,y] = newTerrain; } } getMonsters().Clear(); int monstersSize = Int32.Parse(inStream.ReadLine()); for(int i=0; i < monstersSize; i++) { Monster newMonster = new Monster(); newMonster.LoadObject(inStream); //do not load any monster with the player ID if(!newMonster.ID.Equals(MonsterActionManager.PLAYER_ID)) { getMonsters().Add(newMonster); } } getItems().Clear(); int itemsSize = Int32.Parse(inStream.ReadLine()); for(int i=0; i < itemsSize; i++) { Item newItem = new Item(); newItem.LoadObject(inStream); getItems().Add(newItem); } getBuildings().Clear(); int buildSize = Int32.Parse(inStream.ReadLine()); for(int i=0; i < buildSize; i++) { Building newBuild = new Building(); newBuild.LoadObject(inStream); getBuildings().Add(newBuild); } this.lightingModel = (LightingModel)Enum.Parse(typeof(LightingModel), inStream.ReadLine()); }