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); }
//料号说明 // 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"); } } } }
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); } } }