lixiaojun
4 天以前 531e3b2f09ebf2e6df44e6803e7fa06073ba2c3d
Yw.WpfUI.Hydro.L3d.Core/03-draw/00-core/01-initial/DrawInitialHelper.cs
@@ -27,6 +27,10 @@
        /// 工作面板改变事件
        /// </summary>
        public event Action<WorkPanelL3d> WorkPanelChangedEvent;
        /// <summary>
        /// 绘制状态改变事件
        /// </summary>
        public event Action<eDrawStatusL3d> DrawStatusChangedEvent;
        #endregion
@@ -588,6 +592,63 @@
        #endregion
        #region 绘制状态
        /// <summary>
        /// 绘制状态
        /// </summary>
        public eDrawStatusL3d DrawStatus
        {
            get { return _drawStatus; }
            private set
            {
                if (_drawStatus != value)
                {
                    _drawStatus = value;
                    OnDrawStatusChanged();
                }
            }
        }
        private eDrawStatusL3d _drawStatus = eDrawStatusL3d.Normal;
        //绘制状态恢复方法
        private Func<bool> _drawStatusReaction = null;
        /// <summary>
        /// 注册绘制状态
        /// </summary>
        public void RegistDrawStatus(eDrawStatusL3d drawStatus, Func<bool> reaction)
        {
            if (this.DrawStatus != drawStatus)
            {
                if (_drawStatusReaction != null)
                {
                    if (_drawStatusReaction())
                    {
                        ResetDrawStatus();
                    }
                }
            }
            this.DrawStatus = drawStatus;
            _drawStatusReaction = reaction;
        }
        /// <summary>
        /// 重置绘制状态
        /// </summary>
        public void ResetDrawStatus()
        {
            this.DrawStatus = eDrawStatusL3d.Normal;
        }
        //处理绘制状态改变
        private void OnDrawStatusChanged()
        {
            this.DrawStatusChangedEvent?.Invoke(DrawStatus);
        }
        #endregion
        /// <summary>
        /// 释放