Polyphase Game Engine
Loading...
Searching...
No Matches
SpriteAnimPlayback Class Reference

#include <SpriteAnimPlayback.h>

Classes

struct  AnimateToState
 

Public Types

using FrameCallback = std::function< void(int32_t frameIndex)>
 
using AnimEndCallback = std::function< void(const std::string &animName)>
 
using AnimStartCallback = std::function< void(const std::string &animName)>
 

Public Member Functions

void Tick (float deltaTime, const FrameCallback &onFrameChanged=nullptr, const AnimEndCallback &onAnimationEnd=nullptr)
 
void Play ()
 
void Pause ()
 
void Stop ()
 
void PlayAnimation (const std::string &name, const AnimStartCallback &onAnimationStart=nullptr)
 
bool SetFrame (int32_t frameIndex)
 
bool AnimateTo (int32_t targetFrame, bool pauseOnFinished, const ScriptFunc &onFinished)
 
bool AnimateToProgress (float progress, bool pauseOnFinished, const ScriptFunc &onFinished)
 
void CancelAnimateTo ()
 
bool HasAnimateToTarget () const
 
void RebuildRegistry ()
 
void AddAnimationAsset (SpriteAnimation *asset)
 
void AddAnimationByPath (const std::string &assetPath)
 
void CreateAnimation (const std::string &name)
 
void CreateAnimation (const std::string &name, const std::vector< Texture * > &frames)
 
void AddImage (const std::string &name, Texture *tex)
 
void AddImage (const std::string &name, const std::string &path)
 
void AddImages (const std::string &name, const std::vector< std::string > &paths)
 
void RemoveAnimation (const std::string &name)
 
bool HasAnimation (const std::string &name) const
 
TextureGetCurrentTexture () const
 
glm::vec2 GetCurrentUVScale () const
 
glm::vec2 GetCurrentUVOffset () const
 
glm::vec4 GetCurrentUVRect () const
 
int32_t GetCurrentFrameCount () const
 
float GetProgress () const
 

Public Attributes

std::vector< SpriteAnimationRefmAnimations
 
std::string mDefaultAnimation
 
bool mAutoPlay = true
 
bool mLoopOverride = false
 
float mPlaybackSpeed = 1.0f
 
std::unordered_map< std::string, SpriteAnimPlaybackEntrymRegistry
 
std::string mCurrentName
 
int32_t mCurrentFrame = 0
 
float mElapsed = 0.0f
 
bool mPlaying = false
 
bool mRegistryDirty = true
 
AnimateToState mAnimateTo
 

Member Typedef Documentation

◆ AnimEndCallback

using SpriteAnimPlayback::AnimEndCallback = std::function<void(const std::string& animName)>

◆ AnimStartCallback

using SpriteAnimPlayback::AnimStartCallback = std::function<void(const std::string& animName)>

◆ FrameCallback

using SpriteAnimPlayback::FrameCallback = std::function<void(int32_t frameIndex)>

Member Function Documentation

◆ AddAnimationAsset()

void SpriteAnimPlayback::AddAnimationAsset ( SpriteAnimation asset)

◆ AddAnimationByPath()

void SpriteAnimPlayback::AddAnimationByPath ( const std::string &  assetPath)

◆ AddImage() [1/2]

void SpriteAnimPlayback::AddImage ( const std::string &  name,
const std::string &  path 
)

◆ AddImage() [2/2]

void SpriteAnimPlayback::AddImage ( const std::string &  name,
Texture tex 
)

◆ AddImages()

void SpriteAnimPlayback::AddImages ( const std::string &  name,
const std::vector< std::string > &  paths 
)

◆ AnimateTo()

bool SpriteAnimPlayback::AnimateTo ( int32_t  targetFrame,
bool  pauseOnFinished,
const ScriptFunc onFinished 
)

◆ AnimateToProgress()

bool SpriteAnimPlayback::AnimateToProgress ( float  progress,
bool  pauseOnFinished,
const ScriptFunc onFinished 
)

◆ CancelAnimateTo()

void SpriteAnimPlayback::CancelAnimateTo ( )

◆ CreateAnimation() [1/2]

void SpriteAnimPlayback::CreateAnimation ( const std::string &  name)

◆ CreateAnimation() [2/2]

void SpriteAnimPlayback::CreateAnimation ( const std::string &  name,
const std::vector< Texture * > &  frames 
)

◆ GetCurrentFrameCount()

int32_t SpriteAnimPlayback::GetCurrentFrameCount ( ) const

◆ GetCurrentTexture()

Texture * SpriteAnimPlayback::GetCurrentTexture ( ) const

◆ GetCurrentUVOffset()

glm::vec2 SpriteAnimPlayback::GetCurrentUVOffset ( ) const

◆ GetCurrentUVRect()

glm::vec4 SpriteAnimPlayback::GetCurrentUVRect ( ) const

◆ GetCurrentUVScale()

glm::vec2 SpriteAnimPlayback::GetCurrentUVScale ( ) const

◆ GetProgress()

float SpriteAnimPlayback::GetProgress ( ) const

◆ HasAnimateToTarget()

bool SpriteAnimPlayback::HasAnimateToTarget ( ) const
inline

◆ HasAnimation()

bool SpriteAnimPlayback::HasAnimation ( const std::string &  name) const

◆ Pause()

void SpriteAnimPlayback::Pause ( )

◆ Play()

void SpriteAnimPlayback::Play ( )

◆ PlayAnimation()

void SpriteAnimPlayback::PlayAnimation ( const std::string &  name,
const AnimStartCallback onAnimationStart = nullptr 
)

◆ RebuildRegistry()

void SpriteAnimPlayback::RebuildRegistry ( )

◆ RemoveAnimation()

void SpriteAnimPlayback::RemoveAnimation ( const std::string &  name)

◆ SetFrame()

bool SpriteAnimPlayback::SetFrame ( int32_t  frameIndex)

◆ Stop()

void SpriteAnimPlayback::Stop ( )

◆ Tick()

void SpriteAnimPlayback::Tick ( float  deltaTime,
const FrameCallback onFrameChanged = nullptr,
const AnimEndCallback onAnimationEnd = nullptr 
)

Member Data Documentation

◆ mAnimateTo

AnimateToState SpriteAnimPlayback::mAnimateTo

◆ mAnimations

std::vector<SpriteAnimationRef> SpriteAnimPlayback::mAnimations

◆ mAutoPlay

bool SpriteAnimPlayback::mAutoPlay = true

◆ mCurrentFrame

int32_t SpriteAnimPlayback::mCurrentFrame = 0

◆ mCurrentName

std::string SpriteAnimPlayback::mCurrentName

◆ mDefaultAnimation

std::string SpriteAnimPlayback::mDefaultAnimation

◆ mElapsed

float SpriteAnimPlayback::mElapsed = 0.0f

◆ mLoopOverride

bool SpriteAnimPlayback::mLoopOverride = false

◆ mPlaybackSpeed

float SpriteAnimPlayback::mPlaybackSpeed = 1.0f

◆ mPlaying

bool SpriteAnimPlayback::mPlaying = false

◆ mRegistry

std::unordered_map<std::string, SpriteAnimPlaybackEntry> SpriteAnimPlayback::mRegistry

◆ mRegistryDirty

bool SpriteAnimPlayback::mRegistryDirty = true

The documentation for this class was generated from the following files: