| | |
| | | /// 工作面板改变事件 |
| | | /// </summary> |
| | | public event Action<WorkPanelL3d> WorkPanelChangedEvent; |
| | | /// <summary> |
| | | /// 绘制状态改变事件 |
| | | /// </summary> |
| | | public event Action<eDrawStatusL3d> DrawStatusChangedEvent; |
| | | |
| | | #endregion |
| | | |
| | |
| | | |
| | | #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> |
| | | /// 释放 |