コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

SpriteRenderer.RegisterSpriteChangeCallback でスプライトが変更されたことを検知できる

使用例

using UnityEngine;

public class Example : MonoBehaviour
{
    [SerializeField] private SpriteRenderer m_spriteRenderer;

    private void Start()
    {
        m_spriteRenderer.RegisterSpriteChangeCallback( SpriteChangeCallback );
    }

    private void OnDestroy()
    {
        m_spriteRenderer.UnregisterSpriteChangeCallback( SpriteChangeCallback );
    }

    private static void SpriteChangeCallback( SpriteRenderer spriteRenderer )
    {
        Debug.Log( $"spriteRenderer: {spriteRenderer}", spriteRenderer );
    }
}