ソースコード
using System; using UnityEngine; namespace Kogane { public sealed class GameObjectSetActiveScope : IDisposable { private readonly GameObject m_gameObject; private readonly bool m_oldIsActive; public GameObjectSetActiveScope ( GameObject gameObject, bool isActive ) { m_gameObject = gameObject; m_oldIsActive = gameObject.activeSelf; m_gameObject.SetActive( isActive ); } public void Dispose() { m_gameObject.SetActive( m_oldIsActive ); } } }
使用例
using ( new GameObjectSetActiveScope( gameObject, false ) ) { }