ソースコード
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 ) )
{
}