public void Unequip(BipedPart part)
    {
        if (equipment != null)
        {
            foreach (var equipmentObject in equipment)
            {
                GameObject.Destroy(equipmentObject);
            }
        }

        // Sets all the body parts on
        if (!isOverriden)
        {
            if (part == BipedPart.Chest)
            {
                var chest = parent.Find("Tri Chest");
                chest.gameObject.SetActive(true);
            }
            else
            {
                foreach (Transform transform in parent)
                {
                    transform.gameObject.SetActive(true);
                }
            }
        }
    }
    // Update this to just take an apparel piece as it already contains the biped part data I think
    public void Equip(string model, ItemRecord itemData, BipedPart part)
    {
        ItemData = itemData;

        if (equipment != null)
        {
            foreach (var equipmentObject in equipment)
            {
                GameObject.Destroy(equipmentObject);
            }
        }

        // Hides body parts
        if (!isOverriden)
        {
            if (part == BipedPart.Chest)
            {
                var chest = parent.Find("Tri Chest");
                chest.gameObject.SetActive(false);
            }
            else
            {
                foreach (Transform transform in parent)
                {
                    transform.gameObject.SetActive(false);
                }
            }
        }

        var reader = BsaFileReader.LoadArchiveFileData($"meshes\\{model}");
        var niFile = new NiFile(reader);

        niFile.CreateGameObject(parent);
        equipment = niFile.CreatedObjects;
    }
        public ApparelRecordPiece(BipedPart index, string malePart, string femalePart)
        {
            Index = index;

            if (malePart != null)
            {
                MalePart = BodyPartRecord.Get(malePart);
            }

            if (femalePart != null)
            {
                FemalePart = BodyPartRecord.Get(femalePart);
            }
        }
    public void CreateEquippedPart(Transform child, BipedPart part)
    {
        BodyPartPiece bodyPartType;

        if (bodyPartNames.TryGetValue(part, out bodyPartType))
        {
            BodyPartRecord bodyPart = null;
            switch (bodyPartType)
            {
            case BodyPartPiece.Head:
                bodyPart = head;
                break;

            case BodyPartPiece.Hair:
                bodyPart = hair;
                break;

            case BodyPartPiece.Chest:
                LoadSkin();
                break;

            case BodyPartPiece.Hand:
                break;

            case BodyPartPiece.Foot:
                if (!race.IsBeastRace)
                {
                    bodyPart = BodyPartRecord.GetBodyPart(race, bodyPartType, isFemale);
                }
                break;

            case BodyPartPiece.None:
                break;

            default:
                bodyPart = BodyPartRecord.GetBodyPart(race, bodyPartType, isFemale);
                break;
            }

            if (bodyPart != null)
            {
                BodyPartRecord.Create(bodyPart, null, child);
            }
        }

        var equippedPart = new EquippedPart(child);

        bodyPartPairs.Add(part, equippedPart);
    }