Ejemplo n.º 1
0
	//================================================================//
	// CreateNewLevel
	//================================================================//
	// Destroy all previous parts of the level, then load a level using 
	// MazeGenerator and the current level seed. 
	//================================================================//
	public void CreateNewLevel(int[] newStart)
	{
		while(levelParts.Count != 0) {
			Destroy(levelParts[0]);
			levelParts.RemoveAt (0);
		}

		MazeGenerator maze = new MazeGenerator(seedX, seedY, seedZ);
		PseudoRandom rnd = new PseudoRandom(seedX, seedY, seedZ);
		currentStart = newStart;
		currentMap = maze.CreateNSEWMap(currentSquareSize, currentSquareSize, currentDiversion, currentStart);
		currentFinish = FindEnd (currentMap); 
		mainCamera.GetComponent<CameraFollow> ().SetSpotlightSettings (currentSquareSize);

		MapToLevel (currentMap);
		CreateBoundries (currentMap);

		gridMaster = new GridMaster (0.5f, 0.5f, currentMap.GetLength(1), currentMap.GetLength(0), 1f, 1f);
		GameObject fin = (GameObject)Instantiate (finish, gridMaster.GetCoordVect2(currentFinish[0], currentFinish[1]), Quaternion.identity);
		levelParts.Add (fin);

		if (currentSquareSize > startSize) {
			currentScore +=currentSquareSize*(currentSquareSize-1)*10;
			currentPlayer.SetGridMaster (gridMaster);
			currentPlayer.SetLayout (this);
		}
		SaveCurrentGame ();
	}