Clothing/ClothingBuilder.cs
using Sandbox;
using System;
using System.Collections.Generic;
using System.Text;

namespace SWB.Demo.Clothing
{
    public static class ClothingBuilder
    {
        

        public static SkinnedModelRenderer BuildFull(SkinnedModelRenderer bodyRenderer, string full)
        {

            // Luo ClothingContainer pelaajalle
            var clothingContainer = ClothingContainer.CreateFromLocalUser();
            clothingContainer.Clothing.Clear();
            var dir = "models/citizen_clothes/full_outfit/";
            var end = ".clothing";
            if (!String.IsNullOrEmpty(full))
            {
                if (ResourceLibrary.TryGet<Sandbox.Clothing>(dir + full + end, out var clothing))
                {

                    clothingContainer.Add(new ClothingContainer.ClothingEntry()
                    {
                        Clothing = clothing,
                        Bone = full

                    });
                }
                else
                {
                    Log.Warning("Full clothing resource not found! " + dir + full + end);
                }

                clothingContainer.Apply(bodyRenderer);

            }
            return bodyRenderer;
        }

        public static SkinnedModelRenderer Build(SkinnedModelRenderer smr, string body, string hat, string shirt, string vest, string trousers, string jacket, string hair)
        {

            // Luo ClothingContainer pelaajalle
            var clothingContainer = ClothingContainer.CreateFromLocalUser();
            
            clothingContainer.Clothing.Clear();
            clothingContainer = BuildToBone("body", body, clothingContainer);
            clothingContainer = BuildToBone("hat", hat, clothingContainer);
            clothingContainer = BuildToBone("shirt", shirt, clothingContainer);
            clothingContainer = BuildToBone("vest", vest, clothingContainer);
            clothingContainer = BuildToBone("trousers", trousers, clothingContainer);
            clothingContainer = BuildToBone("jacket", jacket, clothingContainer);
            clothingContainer = BuildToBone("hair", hair, clothingContainer);
            clothingContainer.Apply(smr);
            return smr;
        }


        private static ClothingContainer BuildToBone(string boneName, string boneDir, ClothingContainer clothingContainer)
        {
            var dir = "models/citizen_clothes/";
            var end = ".clothing";
            if (!String.IsNullOrEmpty(boneDir))
            {
                if (ResourceLibrary.TryGet<Sandbox.Clothing>(dir + boneDir + end, out var clothing))
                {

                    clothingContainer.Add(new ClothingContainer.ClothingEntry()
                    {
                        Clothing = clothing,
                        Bone = boneName

                    });
                }
                else
                {
                    Log.Warning("Clothing resource not found! " + dir + boneDir + end);
                }
            }
            return clothingContainer;
        }
    }
}