private void CreateIcons(sCraftSingleLayer layerData, GameObject layer)
    {
        // Add one to account for Back button
        int btnLength = layerData.buttonsInfo.Length;

        GameObject[] newIconButtons = new GameObject[btnLength];

        //float angle = 360f / (float)btnLength;
        for (int i = 0; i < btnLength; i++)
        {
            // Reverse the indices
            int btnIndex = btnLength - 1 - i;

            Vector3    iconPosition;
            Quaternion iconRotation;
            CraftWheelUtils.GetCraftBtnPosition(btnLength, i, iconRotations[0], menuCenterPos, iconDistributionRadius, out iconPosition, out iconRotation);

            Vector3    btnPosition;
            Quaternion btnRotation;
            CraftWheelUtils.GetCraftBtnPosition(btnLength, i, iconRotations[1], menuCenterPos, iconDistributionRadius, out btnPosition, out btnRotation);

            Image separator = Instantiate(separatorIcon, iconPosition, iconRotation *= iconLocalRotOffset);
            separator.name = "MenuSeparatorIcon";
            separator.transform.SetParent(layer.transform, false);

            GameObject       curIcon = new GameObject(layerData.buttonsInfo[btnIndex].name + "Icon", typeof(Image));
            MenuCreateButton curMBC  = curIcon.AddComponent <MenuCreateButton>();
            curMBC.SetInfo(layerData.buttonsInfo[btnIndex].name, layerData.buttonsInfo[btnIndex].icon);
            layerData.buttonsInfo[btnIndex].associatedButton = curIcon;

            curIcon.transform.position = btnPosition;
            curIcon.transform.SetParent(layer.transform, false);
        }
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="btnAmt"></param>
    /// <param name="buttonsInfo"></param>
    /// <param name="layer"></param>
    private void CreateIcons(int btnAmt, sButtonsInfo buttonsInfo, GameObject layer)
    {
        // Add one to account for Back button
        int btnLength = btnAmt + 1;

        GameObject[] newIconButtons = new GameObject[btnLength];

        for (int i = 0; i < btnLength; i++)
        {
            // Reverse the indices
            int btnIndex = btnLength - 1 - i;

            Vector3    iconPosition;
            Quaternion iconRotation;
            CraftWheelUtils.GetCraftBtnPosition(btnLength, btnIndex, iconRotations[0], menuCenterPos, iconDistributionRadius, out iconPosition, out iconRotation);

            Vector3    btnPosition;
            Quaternion btnRotation;
            CraftWheelUtils.GetCraftBtnPosition(btnLength, btnIndex, iconRotations[1], menuCenterPos, iconDistributionRadius, out btnPosition, out btnRotation);

            Image separator = Instantiate(separatorIcon, iconPosition, iconRotation *= iconLocalRotOffset);
            separator.name = "MenuSeparatorIcon";
            separator.transform.SetParent(layer.transform, false);

            GameObject tmpIcon = new GameObject("tmpIcon", typeof(Image));

            // GameObject curIcon;
            // MenuCreateButton curMBC;

            Item tmpMaterial;

            switch (i)
            {
            case 0:
                tmpIcon.GetComponent <Image>().sprite = backIcon;
                tmpIcon.name = "BackIcon";
                tmpIcon.transform.position = btnPosition;
                tmpIcon.transform.SetParent(layer.transform, false);
                backButton = tmpIcon;
                break;

            case 1:
                tmpMaterial = buttonsInfo.itemIfCraftType.craftMaterialInfo.firstMaterial;
                tmpIcon.GetComponent <Image>().sprite = tmpMaterial.icon;
                tmpIcon.name = tmpMaterial.itemName;
                tmpIcon.transform.position = btnPosition;
                tmpIcon.transform.SetParent(layer.transform, false);
                break;

            case 2:
                tmpMaterial = buttonsInfo.itemIfCraftType.craftMaterialInfo.secondMaterial;
                tmpIcon.GetComponent <Image>().sprite = tmpMaterial.icon;
                tmpIcon.name = tmpMaterial.itemName;
                tmpIcon.transform.position = btnPosition;
                tmpIcon.transform.SetParent(layer.transform, false);
                break;

            case 3:
                tmpMaterial = buttonsInfo.itemIfCraftType.craftMaterialInfo.thirdMaterial;
                tmpIcon.GetComponent <Image>().sprite = tmpMaterial.icon;
                tmpIcon.name = tmpMaterial.itemName;
                tmpIcon.transform.position = btnPosition;
                tmpIcon.transform.SetParent(layer.transform, false);
                break;
            }
        }
    }