Exemple #1
0
    public static bool GetCustomConfig(List <BlockModelData> blockModelDatas)
    {
        if (!Directory.Exists("Assets/BlockRes/Custom/Custom_Fbxs"))
        {
            return(false);
        }

        var fbxFiles = Directory.GetFiles("Assets/BlockRes/Custom/Custom_Fbxs", "*.*", SearchOption.TopDirectoryOnly);
        var files    = fbxFiles.Where(s => s.EndsWith(".FBX") || s.EndsWith(".fbx"));

        foreach (var item in files)
        {
            var blockModelData = new BlockModelData()
            {
                model      = Path.GetFileNameWithoutExtension(item),
                category   = "custom",
                isAllColor = "1",
                partnum    = "0",
                scale      = "1",
                size       = "1",
                type       = "1"
            };
            blockModelDatas.Add(blockModelData);
        }

        return(true);
    }
Exemple #2
0
    //料号说明
    //  15-00007   -   001   -   01   -    00
    //  模具号         色号       材料号
    //Unity导出Bom表,料号直接引用Color Code 和 Material Code 中的数字,无需Finish Code(因模具表面处理不可改变,
    //不可以对应2个以上的Finish),描述内更改旧的色号为新的CMF编号。


    private void GenerateBlockDatas_AllColor(BlockModelData modelData, Dictionary <string, string> partNumDict)
    {
        foreach (BlockColorData colorData in blockColorDatas)
        {
            BlockData blockData = new BlockData()
            {
                model         = modelData.model,
                prefab        = modelData.model + "_" + colorData.color,
                category      = modelData.category,
                type          = modelData.type,
                size          = modelData.size,
                scale         = modelData.scale,
                color         = colorData.color,
                material      = colorData.color,
                material_high = colorData.color,
                isAllColor    = true
            };

            blockDatas.Add(blockData);

            if (!isApp)
            {
                string[] cmfStrs          = colorData.newCode.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                string   CMF_Material_Num = cmfStrs[2];
                string   CMF_Finish_Num   = cmfStrs[3];
                string   CMF_Code         = colorData.newCode;

                blockData.partnum = string.Format("{0}-{1}-{2}", modelData.partnum,
                                                  colorData.code.Substring(1, 3) + CMF_Material_Num.Substring(1, 2),
                                                  modelData.partversion);
                blockData.description = string.Format("{0}, {1}, {2}", CMF_Material_Dict[CMF_Material_Num], CMF_Finish_Dict[CMF_Finish_Num], CMF_Code);

                CorrectPartNum(blockData, partNumDict);

                //8月22日的需求来自王文武
                for (int i = 1; i <= 57; i++)
                {
                    var t = "15-00256-0" + string.Format("{0:00}", i) + "01";
                    if (blockData.partnum.Contains(t))
                    {
                        blockData.partnum = blockData.partnum.Replace(t, "15-00256-0" + string.Format("{0:00}", i) + "03");
                    }
                }

                if (blockData.partnum.Contains("15-00256-00501"))
                {
                    blockData.partnum = blockData.partnum.Replace("15-00256-00501", "15-00256-00503");
                }
            }
        }
    }
Exemple #3
0
    private void GenerateBlockDatas_NotAllColor(BlockModelData modelData, Dictionary <string, List <BlockPrefabData> > blockPrefabDict, Dictionary <string, string> partNumDict)
    {
        List <BlockPrefabData> prefabList;

        if (!blockPrefabDict.TryGetValue(modelData.model, out prefabList))
        {
            if (string.IsNullOrEmpty(mErrorMsg_NotAllColor))
            {
                mErrorMsg_NotAllColor = "在modeldata.json里配的\"isAllColor\"为\"否\",但是在prefabdata.json里找不到对应的model,请联系相关人员改表!\n";
            }
            mErrorMsg_NotAllColor += modelData.model + "\n";
            return;
        }
        foreach (BlockPrefabData prefabData in prefabList)
        {
            BlockData blockData = new BlockData()
            {
                model         = modelData.model,
                prefab        = prefabData.prefab,
                category      = modelData.category,
                type          = modelData.type,
                size          = modelData.size,
                scale         = modelData.scale,
                color         = prefabData.color,
                material      = prefabData.material,
                material_high = prefabData.material_high,
                partnum       = prefabData.partnum,
                description   = prefabData.description,
                isAllColor    = false
            };
            blockDatas.Add(blockData);

            if (!isApp)
            {
                CorrectPartNum(blockData, partNumDict);
            }
        }
    }