Show skeleton when entering skeleton tab

This commit is contained in:
ExMatics HydrogenC
2023-11-22 21:52:07 +08:00
parent eba4b9bcc1
commit 5b7a3f9700
2 changed files with 15 additions and 1 deletions

View File

@@ -371,7 +371,10 @@ namespace FlaxEditor.Windows.Assets
private void OnTreeSelectedChanged(List<TreeNode> before, List<TreeNode> after) private void OnTreeSelectedChanged(List<TreeNode> before, List<TreeNode> after)
{ {
if (after.Count != 0) if (after.Count != 0)
((SkeletonPropertiesProxy)Values[0]).Window._preview.ShowDebugDraw = true; {
var proxy = (SkeletonPropertiesProxy)Values[0];
proxy.Window._preview.ShowDebugDraw = true;
}
} }
private void OnTreeNodeCopyName(ContextMenuButton b) private void OnTreeNodeCopyName(ContextMenuButton b)
@@ -1045,6 +1048,7 @@ namespace FlaxEditor.Windows.Assets
{ {
Proxy = new SkeletonPropertiesProxy(); Proxy = new SkeletonPropertiesProxy();
Presenter.Select(Proxy); Presenter.Select(Proxy);
// Draw highlight on selected node
window._preview.CustomDebugDraw += OnDebugDraw; window._preview.CustomDebugDraw += OnDebugDraw;
} }
@@ -1146,6 +1150,15 @@ namespace FlaxEditor.Windows.Assets
_tabs.AddTab(new RetargetTab(this)); _tabs.AddTab(new RetargetTab(this));
_tabs.AddTab(new ImportTab(this)); _tabs.AddTab(new ImportTab(this));
// Automatically show nodes when switching to skeleton page
_tabs.SelectedTabChanged += (tabs) =>
{
if (tabs.SelectedTab is SkeletonTab)
{
_preview.ShowNodes = true;
}
};
// Highlight actor (used to highlight selected material slot, see UpdateEffectsOnAsset) // Highlight actor (used to highlight selected material slot, see UpdateEffectsOnAsset)
_highlightActor = new AnimatedModel _highlightActor = new AnimatedModel
{ {

View File

@@ -188,6 +188,7 @@ void AnimatedModel::SetNodeTransformation(int32 nodeIndex, const Matrix& nodeTra
} }
OnAnimationUpdated(); OnAnimationUpdated();
} }
void AnimatedModel::SetNodeTransformation(const StringView& nodeName, const Matrix& nodeTransformation, bool worldSpace) void AnimatedModel::SetNodeTransformation(const StringView& nodeName, const Matrix& nodeTransformation, bool worldSpace)
{ {
SetNodeTransformation(SkinnedModel ? SkinnedModel->FindNode(nodeName) : -1, nodeTransformation, worldSpace); SetNodeTransformation(SkinnedModel ? SkinnedModel->FindNode(nodeName) : -1, nodeTransformation, worldSpace);