private IEnumerator TakeSnapShotOfSide(int sideIndex, PiecePivot piecePivot) { subPuzzle.SetBackgroundColor(sideIndex); HideAllPiecePivots(); // Take picture of background Quad Texture2D sideNoPiecesTexture = null; yield return(TakeSnapShotOfBackgroundQuad((picture) => sideNoPiecesTexture = picture)); // Take picture of a side HideAllPiecePivots(); piecePivots [sideIndex].pivot.SetActive(true); yield return(null); var sidePicture = subPuzzle.TakeSnapShot(); piecePivot.picture = sidePicture; piecePivot.pictureNoPieces = sideNoPiecesTexture; }
private List <PiecePivot> CreatePiecePivotList() { var piecePivots = new List <PiecePivot> (); var nPiecesInPivot = internalPuzzlePivot.pieces.Count / 2; for (int i = 0; i < 2; i++) { var piecePivot = new PiecePivot(); var piecePivotGameObject = new GameObject(); piecePivot.pivot = piecePivotGameObject; piecePivotGameObject.transform.parent = TopPivot().pivot.transform; piecePivotGameObject.transform.localPosition = new Vector3(0, 0, -2); for (int j = 0; j < nPiecesInPivot; j++) { var piece = internalPuzzlePivot.pieces[i * nPiecesInPivot + j]; piece.transform.parent = piecePivotGameObject.transform; piece.transform.localPosition = new Vector3(piece.transform.localPosition.x, piece.transform.localPosition.y, j * -0.01f); } piecePivots.Add(piecePivot); } return(piecePivots); }