18 void Tick(
float elapsedTime)
override;
20 void Exterminate()
override;
24 void CopyReference(
SComponent* src, std::map<SGameObject*, SGameObject*> lists_obj,
25 std::map<SComponent*, SComponent*> lists_comp)
override;
27 void SetValue(std::string name_str, Arguments value)
override;
29 std::string PrintValue()
const override;
38 void UpdateAnimationTime(
float elapsedTime);
40 std::vector<mat4> calculateCurrentAnimationPose()
const;
42 static void applyPoseToJoints(std::vector<mat4>& currentPose,
JointComponent* joint,
const mat4& parentTransform);
44 std::vector<KeyFrame*> getPreviousAndNextFrames()
const;
48 static std::vector<mat4> InterpolatePoses(
KeyFrame* previousFrame,
KeyFrame* nextFrame,
float t);
52 float m_animationTime = -1;
53 float m_startTime = -1;