Beispiel #1
0
	public void Reset(int size){
		foreach(GameObject c in cubes_)
			Destroy(c);

		state_ = new PuzzleState(size);
		cubes_ = new List<GameObject>();
		
		short[,] nums2D = state_.NumbersMappedTo2D();
		
		int idx = 1;
		for(int i = 0; i < PuzzleState.width_; i++){
			for(int j = 0; j < PuzzleState.width_; j++){
				
				if(idx++ == PuzzleState.puzzleSize_ + 1) break;
				
				Material m = (Material)Resources.Load(nums2D[i,j].ToString(), typeof(Material));
				GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
				
				cube.renderer.material = m;
				cube.transform.position = new Vector3(j,-i,-1.38f);
				cube.transform.Rotate(new Vector3(0,0,180));
				cube.AddComponent("CubeClick");
				
				cubes_.Add(cube);
				
			}
		}
		
		nullPosition = new Vector3(PuzzleState.width_ - 1 , -(PuzzleState.width_ - 1), -1.38f);
		

	}