PO/Library/PackageCache/com.unity.2d.animation@5.0.7/Editor/SkinningModule/AssociateBonesScope.cs

35 lines
843 B
C#

using System;
using UnityEngine;
namespace UnityEditor.U2D.Animation
{
internal class AssociateBonesScope : IDisposable
{
private bool m_Disposed;
private bool m_AssociateBones;
private SpriteCache m_Sprite;
public AssociateBonesScope(SpriteCache sprite)
{
m_Sprite = sprite;
m_AssociateBones = m_Sprite.AssociatePossibleBones();
}
~AssociateBonesScope()
{
if (!m_Disposed)
Debug.LogError("Scope was not disposed! You should use the 'using' keyword or manually call Dispose.");
}
public void Dispose()
{
if (m_Disposed)
return;
m_Disposed = true;
if (m_AssociateBones)
m_Sprite.DeassociateUnusedBones();
}
}
}