优化动画状态变化处理,清除碰撞高亮并检查ClashDetective结果
This commit is contained in:
parent
f500861179
commit
a3bee9a0ba
@ -1341,32 +1341,34 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
/// <summary>
|
||||
/// 处理动画状态变化事件
|
||||
/// </summary>
|
||||
private void OnAnimationStateChanged(object sender, NavisworksTransport.Core.Animation.AnimationState state)
|
||||
private void OnAnimationStateChanged(object sender, Core.Animation.AnimationState state)
|
||||
{
|
||||
System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case NavisworksTransport.Core.Animation.AnimationState.Playing:
|
||||
case Core.Animation.AnimationState.Playing:
|
||||
CanStartAnimation = false;
|
||||
CanPauseAnimation = true;
|
||||
CanStopAnimation = true;
|
||||
UpdateMainStatus("动画播放中");
|
||||
UpdateMediaControlProperties(); // 更新媒体控制属性
|
||||
break;
|
||||
case NavisworksTransport.Core.Animation.AnimationState.Paused:
|
||||
case Core.Animation.AnimationState.Paused:
|
||||
CanStartAnimation = true; // 暂停状态下可以继续
|
||||
CanPauseAnimation = false;
|
||||
CanStopAnimation = true;
|
||||
UpdateMainStatus("动画已暂停");
|
||||
UpdateMediaControlProperties(); // 更新媒体控制属性
|
||||
break;
|
||||
case NavisworksTransport.Core.Animation.AnimationState.Finished:
|
||||
case Core.Animation.AnimationState.Finished:
|
||||
CanStartAnimation = true;
|
||||
CanPauseAnimation = false;
|
||||
CanStopAnimation = false;
|
||||
UpdateMainStatus("动画已完成");
|
||||
UpdateMediaControlProperties(); // 更新媒体控制属性
|
||||
// 先清除所有碰撞高亮(包括预计算和ClashDetective)
|
||||
ModelHighlightHelper.ClearCollisionHighlights();
|
||||
// 检查并高亮ClashDetective结果
|
||||
CheckAndHighlightClashDetectiveResults();
|
||||
break;
|
||||
@ -1376,6 +1378,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
|
||||
CanStopAnimation = false;
|
||||
UpdateMainStatus("动画已停止");
|
||||
UpdateMediaControlProperties(); // 更新媒体控制属性
|
||||
// 先清除所有碰撞高亮(包括预计算和ClashDetective)
|
||||
ModelHighlightHelper.ClearCollisionHighlights();
|
||||
// 检查并高亮ClashDetective结果
|
||||
CheckAndHighlightClashDetectiveResults();
|
||||
break;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user