private void ShowPlaceholders()
    {
        if (piece.Type == PieceTypes.Sphynx)
        {
            return;
        }

        Point[] points = piece.GetAvailablePositions();
        if (points == null)
        {
            return;
        }

        Vector3[] positions = BasePiece.ParsePositions(transform, points);
        HidePlaceholders();

        for (int i = 0; i < positions.Length; i++)
        {
            placeholders.Add(Instantiate(prefab, positions[i], piece.Rotation) as GameObject);

            Movement m = placeholders[placeholders.Count - 1].GetComponentInChildren <Movement>();
            m.piece = piece;
            m.point = points [i];
            m.transform.parent.parent = transform.FindChild("Piece");
        }

        Active = true;
    }