public static void RefreshObjectMeshPairs(GameObject forObject) { //PolyFew Doesn't show up for multiple objects so don't do anything if (UtilityServices.dataContainer == null) { return; } //if (Selection.gameObjects != null && Selection.gameObjects.Length > 1) { return; } //forObject = Selection.activeGameObject; if (forObject == null) { return; } UtilityServices.dataContainer.objectMeshPairs = UtilityServices.GetObjectMeshPairs(forObject, true, true); UtilityServices.dataContainer.triangleCount = UtilityServices.CountTriangles(UtilityServices.dataContainer.reduceDeep, UtilityServices.dataContainer.objectMeshPairs, forObject); DataContainer.UndoRedoOps ops; bool found = UtilityServices.dataContainer.objectsHistory.TryGetValue(forObject, out ops); // Delete the Undo Redo history as they contain older meshes and have become invalid if (found) { UtilityServices.dataContainer.objectsHistory.Remove(forObject); } }
public static void ResetToInitialState() { //PolyFew Doesn't show up for multiple objects so don't do anything if (UtilityServices.dataContainer == null) { return; } //if (Selection.gameObjects != null && Selection.gameObjects.Length > 1) { return; } //if (Selection.activeGameObject == null) { return; } UtilityServices.RestoreMeshesFromPairs(UtilityServices.dataContainer.objectMeshPairs); UtilityServices.dataContainer.reductionPending = false; UtilityServices.dataContainer.reductionStrength = 0; if (Selection.activeGameObject != null) { UtilityServices.dataContainer.triangleCount = UtilityServices.CountTriangles(UtilityServices.dataContainer.reduceDeep, UtilityServices.dataContainer.objectMeshPairs, Selection.activeGameObject); } }