/// <summary>
    /// 生成一个随机凹凸的拼图
    /// </summary>
    /// <param name="jigsawStyle"></param>
    /// <param name="jigsawW"></param>
    /// <param name="jigsawH"></param>
    /// <returns></returns>
    public static JigsawBean createJigsaw(JigsawStyleEnum jigsawStyle, float jigsawW, float jigsawH, Texture2D jigsawPic)
    {
        JigsawBean jigsawBean = new JigsawBean();
        //按样式生成不同的拼图碎片
        IBaseJigsawBuilder jigsawBuilder;

        JigsawBulgeEnum[] bulge;

        if (jigsawStyle == JigsawStyleEnum.Def)
        {
            jigsawBuilder = new NomralJigsawBuilder();
            bulge         = new JigsawBulgeEnum[4]
            {
                (JigsawBulgeEnum)DevUtil.getRandomInt(0, 2),
                (JigsawBulgeEnum)DevUtil.getRandomInt(0, 2),
                (JigsawBulgeEnum)DevUtil.getRandomInt(0, 2),
                (JigsawBulgeEnum)DevUtil.getRandomInt(0, 2)
            };
        }
        else
        {
            LogUtil.logError("没有相对于样式的拼图");
            return(null);
        }
        return(jigsawBuilder.buildJigsaw(jigsawW, jigsawH, bulge, jigsawPic));
    }
    /// <summary>
    /// 创建拼图碎片合集
    /// </summary>
    /// <param name="jigsawStyle">拼图样式</param>
    /// <param name="horizontalJigsawNumber">横向拼图块数</param>
    /// <param name="verticalJigsawNumber">纵向拼图快速</param>
    /// <param name="jigsawPic">拼图图片</param>
    /// <returns></returns>
    public static List <JigsawBean> createJigsawDataList(JigsawStyleEnum jigsawStyle, int horizontalJigsawNumber, int verticalJigsawNumber, Texture2D jigsawPic)
    {
        List <JigsawBean> listJigsawBean = new List <JigsawBean>();

        if (horizontalJigsawNumber == 0)
        {
            LogUtil.logError("横向块数为0");
            return(listJigsawBean);
        }
        if (verticalJigsawNumber == 0)
        {
            LogUtil.logError("纵向块数为0");
            return(listJigsawBean);
        }
        if (jigsawPic == null)
        {
            LogUtil.logError("没有图片");
            return(listJigsawBean);
        }

        //按样式生成不同的拼图碎片
        IBaseJigsawBuilder jigsawBuilder;

        if (jigsawStyle == JigsawStyleEnum.Def)
        {
            jigsawBuilder = new NomralJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Smooth)
        {
            jigsawBuilder = new SmoothJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Triangle)
        {
            jigsawBuilder = new TriangleJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Trapezoid)
        {
            jigsawBuilder = new TrapezoidJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Square)
        {
            jigsawBuilder = new SquareJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Heart)
        {
            jigsawBuilder = new HeartJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Pentagram)
        {
            jigsawBuilder = new PentagramJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Pentagram)
        {
            jigsawBuilder = new PentagramJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Bodkin)
        {
            jigsawBuilder = new BodkinJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Sawtooth)
        {
            jigsawBuilder = new SawtoothJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Shuriken)
        {
            jigsawBuilder = new ShurikenJigsawBuilder();
        }
        else if (jigsawStyle == JigsawStyleEnum.Cross)
        {
            jigsawBuilder = new CrossJigsawBuilder();
        }
        else
        {
            LogUtil.logError("没有相对于样式的拼图");
            return(listJigsawBean);
        }

        listJigsawBean = jigsawBuilder.buildJigsawList(horizontalJigsawNumber, verticalJigsawNumber, jigsawPic);

        if (listJigsawBean == null)
        {
            LogUtil.logError("生成拼图碎片数据失败");
        }
        return(listJigsawBean);
    }