Minor Fixes

This commit is contained in:
Isuru Samarathunga
2025-09-14 08:37:54 +05:30
parent 9ed9f83558
commit ad869ef71d

View File

@ -48,7 +48,8 @@ namespace ia::iae
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()));
m_prevAnimationKeyFrameIndex = 0;
m_activeAnimation = m_animations[animation];
@ -66,10 +67,9 @@ namespace ia::iae
VOID SpriteRendererComponent::Draw()
{
const auto &animFrame = m_currentAnimationState;
animFrame.Texture.Draw(
m_node->SortOffset(),
m_node->GetPosition() + animFrame.Position, m_node->GetScale() * animFrame.Scale,
m_node->GetRotation().z + animFrame.Rotation.z, m_isFlippedH, m_isFlippedV, animFrame.ColorOverlay);
animFrame.Texture.Draw(m_node->SortOffset(), m_node->GetPosition() + animFrame.Position,
m_node->GetScale() * animFrame.Scale, m_node->GetRotation().z + animFrame.Rotation.z,
m_isFlippedH, m_isFlippedV, animFrame.ColorOverlay);
}
VOID SpriteRendererComponent::UpdateAnimation()
@ -82,12 +82,13 @@ namespace ia::iae
{
const auto t = m_timelinePosition / m_prevAnimationKeyFrame.Duration;
#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(Rotation);
//INTERP_PROPERTY(Scale);
//INTERP_PROPERTY(ColorOverlay);
INTERP_PROPERTY(Position);
INTERP_PROPERTY(Rotation);
INTERP_PROPERTY(Scale);
INTERP_PROPERTY(ColorOverlay);
#undef INTERP_PROPERTY
}