3#include <Core/Messages/EventMessage.h>
4#include <Core/ResourceManager/ResourceHandle.h>
5#include <Core/World/ComponentManager.h>
6#include <GameEngine/Animation/PropertyAnimResource.h>
7#include <GameEngine/Animation/Skeletal/AnimationControllerComponent.h>
8#include <RendererCore/AnimationSystem/AnimPoseGenerator.h>
9#include <RendererCore/AnimationSystem/AnimationPose.h>
10#include <ozz/base/containers/vector.h>
11#include <ozz/base/maths/simd_math.h>
12#include <ozz/base/maths/soa_transform.h>
49 void SetAnimationClipFile(
const char* szFile);
50 const char* GetAnimationClipFile()
const;
56 float m_fSpeed = 1.0f;
59 void SetNormalizedPlaybackPosition(
float fPosition);
69 bool UpdatePlaybackTime(
plTime tDiff,
const plEventTrack& eventTrack, plAnimPoseEventTrackSampleMode& out_trackSampling);
72 float m_fNormalizedPlaybackPosition = 0.0f;
78 ozz::vector<ozz::math::SoaTransform> m_OzzLocalTransforms;
Base class of all component types.
Definition Component.h:25
virtual void SerializeComponent(plWorldWriter &inout_stream) const
Override this to save the current state of the component to the given stream.
Definition Component.cpp:54
virtual void OnSimulationStarted()
This method is called once for active components, at the start of the next world update,...
Definition Component.cpp:144
virtual void DeserializeComponent(plWorldReader &inout_stream)
Override this to load the current state of the component from the given stream.
Definition Component.cpp:58
Simple component manager implementation that calls an update method on all components every frame.
Definition ComponentManager.h:142
An event track is a time line that contains named events.
Definition EventTrack.h:15
Plays a single animation clip on an animated mesh.
Definition SimpleAnimationComponent.h:26
plEnum< plAnimationInvisibleUpdateRate > m_InvisibleUpdateRate
How often to update the animation while the animated mesh is invisible.
Definition SimpleAnimationComponent.h:65
float GetNormalizedPlaybackPosition() const
Returns the normalized [0;1] sample position of the animation clip.
Definition SimpleAnimationComponent.h:62
plEnum< plPropertyAnimMode > m_AnimationMode
How to play the animation.
Definition SimpleAnimationComponent.h:53
Reads a world description from a stream. Allows to instantiate that world multiple times in different...
Definition WorldReader.h:47
Stores an entire plWorld in a stream.
Definition WorldWriter.h:13
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
For use in scripts to signal a custom event that some game event has occurred.
Definition CommonMessages.h:29
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12
PL_ALWAYS_INLINE static constexpr plTime MakeZero()
Creates an instance of plTime that was initialized with zero.
Definition Time.h:42