namespace Yw.WpfUI.Hydro { /// /// 抽象状态辅助类 /// internal class LogicalStateHelper { //缓存 private readonly Dictionary _cache = new(); /// /// 获取状态 /// public eLogicalState GetState(VisualL3d visual) { if (visual == null) { return eLogicalState.Normal; } if (!_cache.ContainsKey(visual)) { return eLogicalState.Normal; } return _cache[visual]; } /// /// 设置状态 /// public void SetState(VisualL3d visual, eLogicalState state) { if (visual == null) { return; } _cache[visual] = state; } /// /// 加载状态 /// public void LoadState(VisualL3d visual, eLogicalState state) { var origin = GetState(visual); _cache[visual] = origin | state; } /// /// 卸载状态 /// public void UnloadState(VisualL3d visual, eLogicalState state) { var origin = GetState(visual); _cache[visual] = origin ^ state; } } }