PuzzlePiece SpawnPuzzlePiece(PuzzlePieceTypes type) { var p = Instantiate(puzzlePiecePrefab); p.transform.SetParent(PiecesContainer.transform, false); p.type = type; return(p); }
private void MakePuzzlePiece(PuzzlePieceTypes type) { switch (type) { case PuzzlePieceTypes.IBeam: Initialize(Color.cyan, new IntVector3[4] { new IntVector3(0, 0, 0), new IntVector3(1, 0, 0), new IntVector3(2, 0, 0), new IntVector3(3, 0, 0) }); break; case PuzzlePieceTypes.Box: Initialize(Color.yellow, new IntVector3[4] { new IntVector3(0, 1, 0), new IntVector3(1, 1, 0), new IntVector3(1, 0, 0), new IntVector3(0, 0, 0) }); break; case PuzzlePieceTypes.Axis: Initialize(Color.green, new IntVector3[4] { new IntVector3(0, 0, 0), new IntVector3(1, 0, 0), new IntVector3(1, 0, 1), new IntVector3(1, 1, 0) }); break; case PuzzlePieceTypes.L: Initialize(Color.blue, new IntVector3[4] { new IntVector3(0, 0, 0), new IntVector3(1, 0, 0), new IntVector3(2, 0, 0), new IntVector3(2, 1, 0) }); break; case PuzzlePieceTypes.S: Initialize(Color.red, new IntVector3[4] { new IntVector3(1, 0, 0), new IntVector3(2, 0, 0), new IntVector3(0, 1, 0), new IntVector3(1, 1, 0) }); break; case PuzzlePieceTypes.Bump: Initialize(Color.white, new IntVector3[4] { new IntVector3(0, 1, 0), new IntVector3(1, 1, 0), new IntVector3(2, 1, 0), new IntVector3(1, 0, 0) }); break; case PuzzlePieceTypes.Helix: Initialize(Color.magenta, new IntVector3[4] { new IntVector3(0, 0, 0), new IntVector3(1, 0, 0), new IntVector3(1, 1, 0), new IntVector3(1, 1, 1) }); break; case PuzzlePieceTypes.ReverseHelix: Initialize(Color.gray, new IntVector3[4] { new IntVector3(0, 0, 0), new IntVector3(0, 0, 1), new IntVector3(1, 0, 0), new IntVector3(1, 1, 0) }); break; default: throw new NotImplementedException("Unsupported puzzle piece type"); } }