namespace WaifuCellar.Parts; public abstract class Part { public abstract List Buffs { get; set; } public abstract Part? ParentPart { get; set; } // limbs public abstract List AttachedParts { get; } public virtual void AddPart(Part part) { AttachedParts.Add(part); part.ParentPart = this; } public virtual void RemovePart(Part part) { AttachedParts.Remove(part); part.ParentPart = null; } public virtual void RemoveSelf() => ParentPart?.RemovePart(this); }