#pragma warning disable 612 /// <summary> /// Utility to help convert objects modified with the Beta version of Polybrush (Asset Store) /// to Polybrus 1.x. /// </summary> /// <param name="component"></param> internal static PolybrushMesh ConvertGameObjectToNewFormat(z_AdditionalVertexStreams component) { GameObject go = component.gameObject; PolybrushMesh newComponent = go.GetComponent <PolybrushMesh>(); MeshFilter mf = go.GetComponent <MeshFilter>(); Mesh mesh = component.m_AdditionalVertexStreamMesh; Undo.DestroyObjectImmediate(component); // Cancel conversion if no mesh if found on Z_AdditionalVertexStreams if (mesh == null) { return(null); } if (newComponent == null) { newComponent = Undo.AddComponent <PolybrushMesh>(go); newComponent.Initialize(); } newComponent.mode = PolybrushMesh.Mode.AdditionalVertexStream; newComponent.SetMesh(PolyMeshUtility.DeepCopy(mf.sharedMesh)); newComponent.SetAdditionalVertexStreams(mesh); return(newComponent); }
#pragma warning disable 612 /// <summary> /// Checks if object contains old data structure. If so, converts to our new format. /// Will trigger if object has been edited with the Asset Store (Beta) version. /// </summary> void CheckBackwardCompatiblity(GameObject go) { z_AdditionalVertexStreams oldFormat = go.GetComponent <z_AdditionalVertexStreams>(); if (oldFormat != null) { PolyEditorUtility.ConvertGameObjectToNewFormat(oldFormat); } }