12#include <unordered_map>
45 bool mAutoPlay =
true;
46 bool mLoopOverride =
false;
47 float mPlaybackSpeed = 1.0f;
50 std::unordered_map<std::string, SpriteAnimPlaybackEntry>
mRegistry;
52 int32_t mCurrentFrame = 0;
53 float mElapsed = 0.0f;
54 bool mPlaying =
false;
55 bool mRegistryDirty =
true;
63 void Tick(
float deltaTime,
70 void PlayAnimation(
const std::string& name,
78 bool SetFrame(int32_t frameIndex);
86 bool AnimateTo(int32_t targetFrame,
bool pauseOnFinished,
const ScriptFunc& onFinished);
87 bool AnimateToProgress(
float progress,
bool pauseOnFinished,
const ScriptFunc& onFinished);
88 void CancelAnimateTo();
91 void RebuildRegistry();
93 void AddAnimationByPath(
const std::string& assetPath);
95 void CreateAnimation(
const std::string& name);
96 void CreateAnimation(
const std::string& name,
const std::vector<Texture*>& frames);
97 void AddImage(
const std::string& name,
Texture* tex);
98 void AddImage(
const std::string& name,
const std::string& path);
99 void AddImages(
const std::string& name,
const std::vector<std::string>& paths);
101 void RemoveAnimation(
const std::string& name);
102 bool HasAnimation(
const std::string& name)
const;
107 Texture* GetCurrentTexture()
const;
108 glm::vec2 GetCurrentUVScale()
const;
109 glm::vec2 GetCurrentUVOffset()
const;
110 glm::vec4 GetCurrentUVRect()
const;
112 int32_t GetCurrentFrameCount()
const;
118 float GetProgress()
const;
124 int32_t targetFrame = -1;
125 bool pauseOnFinished =
true;
137 Texture* ResolveCurrentTexture()
const;
138 bool ResolveCurrentUV(glm::vec2& outUV0, glm::vec2& outUV1)
const;
Export macros for Polyphase Engine symbols.
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition ScriptFunc.h:10
Definition SpriteAnimPlayback.h:40
AnimateToState mAnimateTo
Definition SpriteAnimPlayback.h:128
std::vector< SpriteAnimationRef > mAnimations
Definition SpriteAnimPlayback.h:43
std::function< void(int32_t frameIndex)> FrameCallback
Definition SpriteAnimPlayback.h:57
std::string mCurrentName
Definition SpriteAnimPlayback.h:51
std::unordered_map< std::string, SpriteAnimPlaybackEntry > mRegistry
Definition SpriteAnimPlayback.h:50
std::function< void(const std::string &animName)> AnimEndCallback
Definition SpriteAnimPlayback.h:58
std::string mDefaultAnimation
Definition SpriteAnimPlayback.h:44
bool HasAnimateToTarget() const
Definition SpriteAnimPlayback.h:89
std::function< void(const std::string &animName)> AnimStartCallback
Definition SpriteAnimPlayback.h:59
Definition SpriteAnimation.h:31
Definition SpriteAnimPlayback.h:20
float fps
Definition SpriteAnimPlayback.h:26
std::string name
Definition SpriteAnimPlayback.h:21
SpriteAnimationRef sourceAsset
Definition SpriteAnimPlayback.h:22
bool loop
Definition SpriteAnimPlayback.h:27
std::vector< TextureRef > frames
Definition SpriteAnimPlayback.h:25
Definition SpriteAnimPlayback.h:122
ScriptFunc onFinished
Definition SpriteAnimPlayback.h:126