protected void UpdateWireframe(BrushTarget target, BrushSettings settings) { if (!Util.IsValid(target)) { return; } if (m_EditableObjectsData.TryGetValue(target.editableObject, out EditableObjectData data)) { if (data.TempComponent != null) { data.TempComponent.OnVerticesMoved(target.editableObject.editMesh); } //Might be costly to do that on every wireframe update if (ProBuilderBridge.ProBuilderExists() && target.editableObject.isProBuilderObject) { ProBuilderBridge.RefreshEditor(false); } } }
void FinalizeAndResetHovering() { foreach (var kvp in m_Hovering) { BrushTarget target = kvp.Value; if (!Util.IsValid(target)) { continue; } // if mesh hasn't been modified, revert it back // to the original mesh so that unnecessary assets // aren't allocated. if it has been modified, let // the editableObject apply those changes to the // pb_Object if necessary. if (!target.editableObject.isDirty) { target.editableObject.Revert(); } else { target.editableObject.Apply(true, true); } } m_Hovering.Clear(); brushTarget = null; m_LastHoveredGameObject = null; #if PROBUILDER_4_0_OR_NEWER if (ProBuilderBridge.ProBuilderExists()) { ProBuilderBridge.RefreshEditor(false); } #endif Repaint(); }