private static PlaceholderAttachments GetAttachments(
            string name,
            bool requireEquipmentTextures = true)
        {
            using var tempSourcePaths = Api.Shared.WrapObjectInTempList("Characters/Equipment/" + name);
            using var tempSpritePaths = ClientEquipmentSpriteHelper.CollectSpriteFilePaths(tempSourcePaths.AsList());

            ClientEquipmentSpriteHelper.CollectSlotAttachments(
                tempSpritePaths.AsList(),
                typeName: name,
                requireEquipmentTextures: requireEquipmentTextures,
                out var slotAttachmentsMale,
                out var slotAttachmentsFemale);

            foreach (var spriteFilePath in tempSpritePaths.AsList())
            {
                spriteFilePath.Dispose();
            }

            return(new PlaceholderAttachments(slotAttachmentsMale, slotAttachmentsFemale));
        }
        private static IReadOnlyList <SkeletonSlotAttachment> GetAttachments(
            string name,
            bool requireEquipmentTextures = true)
        {
            using (var tempSourcePaths = Api.Shared.WrapObjectInTempList("Characters/Equipment/" + name))
                using (var tempSpritePaths = ClientEquipmentSpriteHelper.CollectSpriteFilePaths(tempSourcePaths.AsList()))
                {
                    var result = ClientEquipmentSpriteHelper.CollectSlotAttachments(
                        tempSpritePaths.AsList(),
                        typeName: name,
                        isMale: true,
                        requireEquipmentTextures: requireEquipmentTextures);

                    foreach (var spriteFilePath in tempSpritePaths)
                    {
                        spriteFilePath.FilesInFolder.Dispose();
                    }

                    return(result);
                }
        }