private static ElementPart AssemblyPartToConfig(LDDModder.LDD.Palettes.Assembly.Part part) { var partConfig = new Models.LDD.ElementPart() { PartID = part.DesignID.ToString(), MaterialID = part.MaterialID, }; if (part.Decorations?.Any() ?? false) { foreach (var deco in part.Decorations) { partConfig.Decorations.Add(new Models.LDD.ElementDecoration() { SurfaceID = deco.SurfaceID, DecorationID = deco.DecorationID }); } } if (part.SubMaterials?.Any() ?? false) { foreach (var subMat in part.SubMaterials) { partConfig.SubMaterials.Add(new Models.LDD.ElementMaterial() { SurfaceID = subMat.SurfaceID, MaterialID = subMat.MaterialID }); } } return(partConfig); }
public LDDModder.LDD.Palettes.PaletteItem ToPaletteItem(int quantity = 0) { if (IsAssembly) { var assembly = new LDDModder.LDD.Palettes.Assembly(int.Parse(DesignID), ElementID, quantity); foreach (var partConfig in Parts) { var part = new LDDModder.LDD.Palettes.Assembly.Part( int.Parse(partConfig.PartID), partConfig.MaterialID); foreach (var dec in partConfig.Decorations) { part.Decorations.Add(new LDDModder.LDD.Palettes.Decoration(dec.SurfaceID, dec.DecorationID)); } foreach (var mat in partConfig.SubMaterials) { part.SubMaterials.Add(new LDDModder.LDD.Palettes.SubMaterial(mat.SurfaceID, mat.MaterialID)); } assembly.Parts.Add(part); } return(assembly); } else { var brick = new LDDModder.LDD.Palettes.Brick(int.Parse(DesignID), ElementID, quantity); var partConfig = Parts.FirstOrDefault(); brick.MaterialID = partConfig.MaterialID; foreach (var dec in partConfig.Decorations) { brick.Decorations.Add(new LDDModder.LDD.Palettes.Decoration(dec.SurfaceID, dec.DecorationID)); } foreach (var mat in partConfig.SubMaterials) { brick.SubMaterials.Add(new LDDModder.LDD.Palettes.SubMaterial(mat.SurfaceID, mat.MaterialID)); } return(brick); } }