コガネブログ

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

【Unity】Screen のサイズが変化したかどうかを検知するコンポーネント

ソースコード

using System;
using UnityEngine;

namespace Kogane
{
    [DisallowMultipleComponent]
    internal sealed class ScreenSizeChecker : MonoBehaviour
    {
        private int m_width;
        private int m_height;

        public event Action OnChanged;

        private void Awake()
        {
            m_width  = Screen.width;
            m_height = Screen.height;
        }

        private void Update()
        {
            if ( OnChanged == null ) return;
            if ( m_width == Screen.width && m_height == Screen.height ) return;

            m_width  = Screen.width;
            m_height = Screen.height;

            OnChanged();
        }
    }
}