public virtual void resizePart(float scale, bool pushAttachments) { if (part.FindAttachNode("bottom") is AttachNode node && part.FindAttachNodes("bottom") is AttachNode[] nodes) { foreach (AttachNode n in nodes) { Vector3 newPos = new Vector3(n.position.x, node.position.y, n.position.z); PFUtils.UpdateNode(part, n, newPos, node.size, pushAttachments); } } if (part.GetComponent <KzNodeNumberTweaker>() is KzNodeNumberTweaker nnt) { nnt.SetRadius(Math.Min(nnt.radius, size / 2), pushAttachments); (nnt.Fields[nameof(nnt.radius)].uiControlEditor as UI_FloatEdit).maxValue = size / 2; } }