Add slot stop methods without anim param.
This commit is contained in:
@@ -563,6 +563,20 @@ void AnimatedModel::StopSlotAnimation(const StringView& slotName, Animation* ani
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimatedModel::StopSlotAnimation(const StringView& slotName)
|
||||||
|
{
|
||||||
|
for (auto& slot : GraphInstance.Slots)
|
||||||
|
{
|
||||||
|
if (slot.Name == slotName)
|
||||||
|
{
|
||||||
|
//slot.Animation = nullptr; // TODO: make an immediate version of this method and set the animation to nullptr.
|
||||||
|
if (slot.Animation != nullptr)
|
||||||
|
slot.Reset = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AnimatedModel::PauseSlotAnimation()
|
void AnimatedModel::PauseSlotAnimation()
|
||||||
{
|
{
|
||||||
for (auto& slot : GraphInstance.Slots)
|
for (auto& slot : GraphInstance.Slots)
|
||||||
@@ -601,6 +615,16 @@ bool AnimatedModel::IsPlayingSlotAnimation(const StringView& slotName, Animation
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AnimatedModel::IsPlayingSlotAnimation(const StringView& slotName)
|
||||||
|
{
|
||||||
|
for (auto& slot : GraphInstance.Slots)
|
||||||
|
{
|
||||||
|
if (slot.Name == slotName && !slot.Pause)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void AnimatedModel::ApplyRootMotion(const Transform& rootMotionDelta)
|
void AnimatedModel::ApplyRootMotion(const Transform& rootMotionDelta)
|
||||||
{
|
{
|
||||||
// Skip if no motion
|
// Skip if no motion
|
||||||
|
|||||||
@@ -414,6 +414,12 @@ public:
|
|||||||
/// <param name="slotName">The name of the slot.</param>
|
/// <param name="slotName">The name of the slot.</param>
|
||||||
/// <param name="anim">The animation to stop.</param>
|
/// <param name="anim">The animation to stop.</param>
|
||||||
API_FUNCTION() void StopSlotAnimation(const StringView& slotName, Animation* anim);
|
API_FUNCTION() void StopSlotAnimation(const StringView& slotName, Animation* anim);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Stops the animation playback on the slot in Anim Graph.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="slotName">The name of the slot.</param>
|
||||||
|
API_FUNCTION() void StopSlotAnimation(const StringView& slotName);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Pauses all the animations playback on the all slots in Anim Graph.
|
/// Pauses all the animations playback on the all slots in Anim Graph.
|
||||||
@@ -439,6 +445,12 @@ public:
|
|||||||
/// <param name="anim">The animation to check.</param>
|
/// <param name="anim">The animation to check.</param>
|
||||||
API_FUNCTION() bool IsPlayingSlotAnimation(const StringView& slotName, Animation* anim);
|
API_FUNCTION() bool IsPlayingSlotAnimation(const StringView& slotName, Animation* anim);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Checks if the animation playback is active on the slot in Anim Graph (not paused).
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="slotName">The name of the slot.</param>
|
||||||
|
API_FUNCTION() bool IsPlayingSlotAnimation(const StringView& slotName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void ApplyRootMotion(const Transform& rootMotionDelta);
|
void ApplyRootMotion(const Transform& rootMotionDelta);
|
||||||
void SyncParameters();
|
void SyncParameters();
|
||||||
|
|||||||
Reference in New Issue
Block a user