public void CloneTo(ShapeObject so, bool geometryOnly = true) { so.transform.position = transform.position; so.transform.up = transform.up; so.transform.localScale = transform.localScale; so.transform.localRotation = transform.localRotation; so.meshable = (Meshable)(meshable.Clone()); so.GetComponent <MeshFilter>().mesh = GetComponent <MeshFilter>().mesh; if (!geometryOnly) { so.name = name; so.step = step; //so.parentRule = parentRule; } }