namespace Yw.WpfUI.Hydro
{
///
/// 抽象覆盖可见性辅助类
///
internal class LogicalOverrideVisibleHelper
{
//缓存
private readonly Dictionary _cache = new();
///
/// 获取可见性
///
public bool GetVisible(VisualL3d visual)
{
if (visual == null)
{
return true;
}
if (!_cache.ContainsKey(visual))
{
return true;
}
return _cache[visual];
}
///
/// 设置可见性
///
public void SetVisible(VisualL3d visual, bool Visible)
{
_cache[visual] = Visible;
}
///
/// 设置可见性
///
public void SetVisible(List visuals, bool Visible)
{
visuals?.ForEach(x => _cache[x] = Visible);
}
///
/// 清理可见性
///
public void ClearVisible(VisualL3d visual)
{
if (!_cache.ContainsKey(visual))
{
return;
}
_cache.Remove(visual);
}
///
/// 清理可见性
///
public void ClearVisible(List visuals)
{
visuals?.ForEach(x => ClearVisible(x));
}
}
}