Example #1
0
        private static ElementPart PaletteBrickToConfig(LDDModder.LDD.Palettes.Brick 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);
        }
Example #2
0
        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);
            }
        }