public void LoadFromSerializedProperty(SerializedProperty sp) { this.rect = sp.FindPropertyRelative("m_Rect").rectValue; this.border = sp.FindPropertyRelative("m_Border").vector4Value; this.name = sp.FindPropertyRelative("m_Name").stringValue; this.alignment = (SpriteAlignment)sp.FindPropertyRelative("m_Alignment").intValue; this.pivot = SpriteEditorUtility.GetPivotValue(this.alignment, sp.FindPropertyRelative("m_Pivot").vector2Value); this.tessellationDetail = sp.FindPropertyRelative("m_TessellationDetail").floatValue; SerializedProperty outlineSP = sp.FindPropertyRelative("m_Outline"); this.outline = SpriteRect.AcquireOutline(outlineSP); }
private void RefreshRects() { if (this.m_RectsCache) { this.m_RectsCache.ClearAll(); Undo.ClearUndo(this.m_RectsCache); UnityEngine.Object.DestroyImmediate(this.m_RectsCache); } this.m_RectsCache = ScriptableObject.CreateInstance <SpriteRectCache>(); if (this.m_TextureImporterSprites != null) { if (this.multipleSprites) { for (int i = 0; i < this.m_TextureImporterSprites.arraySize; i++) { SpriteRect spriteRect = new SpriteRect(); spriteRect.LoadFromSerializedProperty(this.m_TextureImporterSprites.GetArrayElementAtIndex(i)); this.m_RectsCache.AddRect(spriteRect); EditorUtility.DisplayProgressBar(SpriteEditorWindow.SpriteEditorWindowStyles.loadProgressTitle.text, string.Format(SpriteEditorWindow.SpriteEditorWindowStyles.loadContentText.text, i, this.m_TextureImporterSprites.arraySize), (float)i / (float)this.m_TextureImporterSprites.arraySize); } } else if (this.validSprite) { SpriteRect spriteRect2 = new SpriteRect(); spriteRect2.rect = new Rect(0f, 0f, (float)this.m_Texture.width, (float)this.m_Texture.height); spriteRect2.name = this.m_OriginalTexture.name; spriteRect2.alignment = (SpriteAlignment)this.m_TextureImporterSO.FindProperty("m_Alignment").intValue; spriteRect2.border = this.m_TextureImporter.spriteBorder; spriteRect2.pivot = SpriteEditorUtility.GetPivotValue(spriteRect2.alignment, this.m_TextureImporter.spritePivot); spriteRect2.tessellationDetail = this.m_TextureImporterSO.FindProperty("m_SpriteTessellationDetail").floatValue; SerializedProperty outlineSP = this.m_TextureImporterSO.FindProperty("m_SpriteSheet.m_Outline"); spriteRect2.outline = SpriteRect.AcquireOutline(outlineSP); SerializedProperty outlineSP2 = this.m_TextureImporterSO.FindProperty("m_SpriteSheet.m_PhysicsShape"); spriteRect2.physicsShape = SpriteRect.AcquireOutline(outlineSP2); this.m_RectsCache.AddRect(spriteRect2); } EditorUtility.ClearProgressBar(); if (this.m_RectsCache.Count > 0) { this.selectedSpriteRect = this.m_RectsCache.RectAt(0); } } }