Merge branch 'anim-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-anim-fix
This commit is contained in:
@@ -59,8 +59,11 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
if (Surface != null)
|
||||
{
|
||||
_assetSelect = GetChild<AssetSelect>();
|
||||
_assetBox = GetBox(8);
|
||||
_assetSelect.Visible = !_assetBox.HasAnyConnection;
|
||||
if (TryGetBox(8, out var box))
|
||||
{
|
||||
_assetBox = box;
|
||||
_assetSelect.Visible = !_assetBox.HasAnyConnection;
|
||||
}
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
@@ -68,7 +71,11 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
private void UpdateTitle()
|
||||
{
|
||||
var asset = Editor.Instance.ContentDatabase.Find((Guid)Values[0]);
|
||||
Title = _assetBox.HasAnyConnection || asset == null ? "Animation" : asset.ShortName;
|
||||
if (_assetBox != null)
|
||||
Title = _assetBox.HasAnyConnection || asset == null ? "Animation" : asset.ShortName;
|
||||
else
|
||||
Title = asset?.ShortName ?? "Animation";
|
||||
|
||||
var style = Style.Current;
|
||||
Resize(Mathf.Max(230, style.FontLarge.MeasureText(Title).X + 30), 160);
|
||||
}
|
||||
@@ -78,6 +85,8 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
base.ConnectionTick(box);
|
||||
|
||||
if (_assetBox == null)
|
||||
return;
|
||||
if (box.ID != _assetBox.ID)
|
||||
return;
|
||||
|
||||
|
||||
@@ -764,14 +764,17 @@ void AnimGraphExecutor::ProcessGroupAnimation(Box* boxBase, Node* nodeBase, Valu
|
||||
const float startTimePos = (float)tryGetValue(node->GetBox(7), node->Values[3]);
|
||||
|
||||
// Override animation when animation reference box is connected
|
||||
auto animationAssetBox = node->GetBox(8);
|
||||
if (animationAssetBox->HasConnection())
|
||||
auto animationAssetBox = node->TryGetBox(8);
|
||||
if (animationAssetBox)
|
||||
{
|
||||
const Value assetBoxValue = tryGetValue(animationAssetBox, Value::Null);
|
||||
if (assetBoxValue != Value::Null)
|
||||
anim = (Animation*)assetBoxValue.AsAsset;
|
||||
else
|
||||
anim = nullptr;
|
||||
if (animationAssetBox->HasConnection())
|
||||
{
|
||||
const Value assetBoxValue = tryGetValue(animationAssetBox, Value::Null);
|
||||
if (assetBoxValue != Value::Null)
|
||||
anim = (Animation*)assetBoxValue.AsAsset;
|
||||
else
|
||||
anim = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
const float length = anim ? anim->GetLength() : 0.0f;
|
||||
|
||||
Reference in New Issue
Block a user