Ejemplo n.º 1
0
	public void StartFaceRotation(Transform[] cubes, Transform sphere, BadassCube.Face face, int col, int dir){
		if (!isRotating){
			this.sphere = sphere;
			this.cubes = cubes;
			isRotating = true;
			
			rotationOrig = Quaternion.Euler(0,0,0);
			rotationProgress = 0;
			
			transform.rotation = rotationOrig;
			
			if (face == BadassCube.Face.Left){
				rotationTarget = Quaternion.Euler(90*dir,0,0);
				int targetX = (col-1)*2;
				foreach (Transform cube in cubes)
					if (Mathf.Abs(cube.position.x - targetX) < 1.6f)
						cube.parent = transform;
				if (Mathf.Abs(sphere.position.x - targetX) < 1)
					sphere.parent = transform;
			}
			else if (face == BadassCube.Face.Right){
				rotationTarget = Quaternion.Euler(0,0,90*dir);
				int targetZ = (col-1)*2;
				foreach (Transform cube in cubes)
					if (Mathf.Abs(cube.position.z - targetZ) < 1.6f)
						cube.parent = transform;
				if (Mathf.Abs(sphere.position.z - targetZ) < 1)
					sphere.parent = transform;
			}
		}
	}
Ejemplo n.º 2
0
	public RotateFaceCommand(BadassCube cube, BadassCube.Face face, int col, int dir){
		this.cube = cube;
		this.face = face;
		this.col = col;
		this.dir = dir;
	}
Ejemplo n.º 3
0
	public RotateCubeCommand(BadassCube cube, BadassCube.Axis axis, int dir){
		this.cube = cube;
		this.axis = axis;
		this.dir = dir;
	}