public static void UpdateNode(Part part, AttachNode node, Vector3 newPosition, int size, bool pushAttachments, float attachDiameter = 0) { if (node is AttachNode) { Vector3 oldPosWorld = part.transform.TransformPoint(node.position); node.position = newPosition; node.size = size; if (pushAttachments) { PFUtils.UpdateAttachedPartPos(node, part, oldPosWorld); } if (node.attachedPart is Part) { PFUtils.InformAttachedPartNodePositionChanged(node); PFUtils.InformAttachNodeSizeChanged(node, attachDiameter > 0 ? attachDiameter : Mathf.Max(node.size, 0.01f)); } } }