protected bool AddWeaponComponent(WeaponComponent component) { if (HasComponent(component)) return false; component.AssembleTo(transform); List<string> missingTypes = new List<string>(); CheckIntegrity(ref missingTypes); return HasComponent(component); }