public static PatchMultiple ( |
||
serializedObject | ||
classID | int | |
oldNames | string | |
newNames | string | |
return | void |
public static void Patch(SerializedObject serializedObject, int classID, string oldName, string newName) { PatchImportSettingRecycleID.PatchMultiple(serializedObject, classID, new string[1] { oldName }, new string[1] { newName }); }
private void DoApply(SerializedObject so) { if (this.multipleSprites) { List <string> list = new List <string>(); List <string> list2 = new List <string>(); SerializedProperty serializedProperty = so.FindProperty("m_SpriteSheet.m_Sprites"); for (int i = 0; i < this.m_RectsCache.Count; i++) { SpriteRect spriteRect = this.m_RectsCache.RectAt(i); if (string.IsNullOrEmpty(spriteRect.name)) { spriteRect.name = "Empty"; } if (!string.IsNullOrEmpty(spriteRect.originalName)) { list.Add(spriteRect.originalName); list2.Add(spriteRect.name); } if (serializedProperty.arraySize < this.m_RectsCache.Count) { serializedProperty.InsertArrayElementAtIndex(serializedProperty.arraySize); } SerializedProperty arrayElementAtIndex = serializedProperty.GetArrayElementAtIndex(i); spriteRect.ApplyToSerializedProperty(arrayElementAtIndex); EditorUtility.DisplayProgressBar(SpriteEditorWindow.SpriteEditorWindowStyles.saveProgressTitle.text, string.Format(SpriteEditorWindow.SpriteEditorWindowStyles.saveContentText.text, i, this.m_RectsCache.Count), (float)i / (float)this.m_RectsCache.Count); } while (this.m_RectsCache.Count < serializedProperty.arraySize) { serializedProperty.DeleteArrayElementAtIndex(this.m_RectsCache.Count); } if (list.Count > 0) { PatchImportSettingRecycleID.PatchMultiple(so, 213, list.ToArray(), list2.ToArray()); } } else if (this.m_RectsCache.Count > 0) { SpriteRect spriteRect2 = this.m_RectsCache.RectAt(0); so.FindProperty("m_Alignment").intValue = (int)spriteRect2.alignment; so.FindProperty("m_SpriteBorder").vector4Value = spriteRect2.border; so.FindProperty("m_SpritePivot").vector2Value = spriteRect2.pivot; so.FindProperty("m_SpriteTessellationDetail").floatValue = spriteRect2.tessellationDetail; SerializedProperty serializedProperty2 = so.FindProperty("m_SpriteSheet.m_Outline"); if (spriteRect2.outline != null) { SpriteRect.ApplyOutlineChanges(serializedProperty2, spriteRect2.outline); } else { serializedProperty2.ClearArray(); } } EditorUtility.ClearProgressBar(); }
public override bool ApplyRevert(bool apply) { if (apply) { if (containsMultipleSprites) { var oldNames = new List <string>(); var newNames = new List <string>(); for (int i = 0; i < m_RectsCache.spriteRects.Count; i++) { SpriteRect spriteRect = (SpriteRect)m_RectsCache.spriteRects[i]; if (string.IsNullOrEmpty(spriteRect.name)) { spriteRect.name = "Empty"; } if (!string.IsNullOrEmpty(spriteRect.originalName)) { oldNames.Add(spriteRect.originalName); newNames.Add(spriteRect.name); } } var so = new SerializedObject(m_SpriteDataProvider.targetObject); if (oldNames.Count > 0) { PatchImportSettingRecycleID.PatchMultiple(so, 213, oldNames.ToArray(), newNames.ToArray()); } so.ApplyModifiedPropertiesWithoutUndo(); } m_SpriteDataProvider.SetSpriteRects(m_RectsCache?.spriteRects.ToArray()); if (m_RectsCache != null) { undoSystem.ClearUndo(m_RectsCache); } } else { if (m_RectsCache != null) { undoSystem.ClearUndo(m_RectsCache); m_RectsCache.spriteRects = m_SpriteDataProvider.GetSpriteRects().ToList(); spriteEditor.spriteRects = m_RectsCache.spriteRects; if (spriteEditor.selectedSpriteRect != null) { spriteEditor.selectedSpriteRect = m_RectsCache.spriteRects.FirstOrDefault(x => x.spriteID == spriteEditor.selectedSpriteRect.spriteID); } } } return(true); }
public override bool ApplyRevert(bool apply) { if (apply) { if (this.containsMultipleSprites) { List <string> list = new List <string>(); List <string> list2 = new List <string>(); for (int i = 0; i < this.m_RectsCache.spriteRects.Count; i++) { SpriteRect spriteRect = this.m_RectsCache.spriteRects[i]; if (string.IsNullOrEmpty(spriteRect.name)) { spriteRect.name = "Empty"; } if (!string.IsNullOrEmpty(spriteRect.originalName)) { list.Add(spriteRect.originalName); list2.Add(spriteRect.name); } } SerializedObject serializedObject = new SerializedObject(this.m_SpriteDataProvider.targetObject); if (list.Count > 0) { PatchImportSettingRecycleID.PatchMultiple(serializedObject, 213, list.ToArray(), list2.ToArray()); } serializedObject.ApplyModifiedPropertiesWithoutUndo(); } this.m_SpriteDataProvider.SetSpriteRects((this.m_RectsCache != null) ? this.m_RectsCache.spriteRects.ToArray() : null); if (this.m_RectsCache != null) { this.undoSystem.ClearUndo(this.m_RectsCache); } } else if (this.m_RectsCache != null) { this.undoSystem.ClearUndo(this.m_RectsCache); this.m_RectsCache.spriteRects = this.m_SpriteDataProvider.GetSpriteRects().ToList <SpriteRect>(); base.spriteEditor.spriteRects = this.m_RectsCache.spriteRects; if (base.spriteEditor.selectedSpriteRect != null) { base.spriteEditor.selectedSpriteRect = this.m_RectsCache.spriteRects.FirstOrDefault((SpriteRect x) => x.spriteID == base.spriteEditor.selectedSpriteRect.spriteID); } } return(true); }