Minor Fixes
This commit is contained in:
@ -48,7 +48,8 @@ namespace ia::iae
|
|||||||
|
|
||||||
VOID SpriteRendererComponent::SetActiveAnimation(IN Handle animation)
|
VOID SpriteRendererComponent::SetActiveAnimation(IN Handle animation)
|
||||||
{
|
{
|
||||||
if(animation == m_activeAnimationHandle) return;
|
if (animation == m_activeAnimationHandle)
|
||||||
|
return;
|
||||||
IA_RELEASE_ASSERT((animation != INVALID_HANDLE) && (animation < m_animations.size()));
|
IA_RELEASE_ASSERT((animation != INVALID_HANDLE) && (animation < m_animations.size()));
|
||||||
m_prevAnimationKeyFrameIndex = 0;
|
m_prevAnimationKeyFrameIndex = 0;
|
||||||
m_activeAnimation = m_animations[animation];
|
m_activeAnimation = m_animations[animation];
|
||||||
@ -66,10 +67,9 @@ namespace ia::iae
|
|||||||
VOID SpriteRendererComponent::Draw()
|
VOID SpriteRendererComponent::Draw()
|
||||||
{
|
{
|
||||||
const auto &animFrame = m_currentAnimationState;
|
const auto &animFrame = m_currentAnimationState;
|
||||||
animFrame.Texture.Draw(
|
animFrame.Texture.Draw(m_node->SortOffset(), m_node->GetPosition() + animFrame.Position,
|
||||||
m_node->SortOffset(),
|
m_node->GetScale() * animFrame.Scale, m_node->GetRotation().z + animFrame.Rotation.z,
|
||||||
m_node->GetPosition() + animFrame.Position, m_node->GetScale() * animFrame.Scale,
|
m_isFlippedH, m_isFlippedV, animFrame.ColorOverlay);
|
||||||
m_node->GetRotation().z + animFrame.Rotation.z, m_isFlippedH, m_isFlippedV, animFrame.ColorOverlay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID SpriteRendererComponent::UpdateAnimation()
|
VOID SpriteRendererComponent::UpdateAnimation()
|
||||||
@ -82,12 +82,13 @@ namespace ia::iae
|
|||||||
{
|
{
|
||||||
const auto t = m_timelinePosition / m_prevAnimationKeyFrame.Duration;
|
const auto t = m_timelinePosition / m_prevAnimationKeyFrame.Duration;
|
||||||
#define INTERP_PROPERTY(name) \
|
#define INTERP_PROPERTY(name) \
|
||||||
m_currentAnimationState.name = iam::Lerp(m_prevAnimationKeyFrame.name, m_nextAnimationKeyFrame.name, t);
|
m_currentAnimationState.name = \
|
||||||
|
m_prevAnimationKeyFrame.name + (m_nextAnimationKeyFrame.name - m_prevAnimationKeyFrame.name) * t;
|
||||||
|
|
||||||
//INTERP_PROPERTY(Position); [IATODO]
|
INTERP_PROPERTY(Position);
|
||||||
//INTERP_PROPERTY(Rotation);
|
INTERP_PROPERTY(Rotation);
|
||||||
//INTERP_PROPERTY(Scale);
|
INTERP_PROPERTY(Scale);
|
||||||
//INTERP_PROPERTY(ColorOverlay);
|
INTERP_PROPERTY(ColorOverlay);
|
||||||
|
|
||||||
#undef INTERP_PROPERTY
|
#undef INTERP_PROPERTY
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user