Example #1
0
    PuzzlePiece SpawnPuzzlePiece(PuzzlePieceTypes type)
    {
        var p = Instantiate(puzzlePiecePrefab);

        p.transform.SetParent(PiecesContainer.transform, false);
        p.type = type;
        return(p);
    }
Example #2
0
    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");
        }
    }