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

#include <SpriteAnimator.h>

Inheritance diagram for SpriteAnimator:
Node Object

Public Member Functions

 DECLARE_NODE (SpriteAnimator, Node)
 
 SpriteAnimator ()
 
virtual ~SpriteAnimator ()
 
virtual const char * GetTypeName () const override
 
virtual void GatherProperties (std::vector< Property > &outProps) override
 
virtual void Create () override
 
virtual void Destroy () override
 
virtual void Start () override
 
virtual void Tick (float deltaTime) override
 
virtual void EditorTick (float deltaTime) override
 
void Play ()
 
void Pause ()
 
void Stop ()
 
void PlayAnimation (const std::string &name)
 
void 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 ()
 
void SetSpeed (float speed)
 
float GetSpeed () const
 
bool IsPlaying () const
 
bool GetAutoPlay () const
 
void SetAutoPlay (bool autoPlay)
 
bool GetLoopOverride () const
 
void SetLoopOverride (bool loop)
 
const std::string & GetDefaultAnimation () const
 
void SetDefaultAnimation (const std::string &name)
 
void AddAnimation (SpriteAnimation *asset)
 
void AddAnimation (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
 
float GetProgress () const
 
TextureGetCurrentTexture () const
 
glm::vec2 GetCurrentUVScale () const
 
glm::vec2 GetCurrentUVOffset () const
 
glm::vec4 GetCurrentUVRect () const
 
const std::string & GetCurrentAnimationName () const
 
int32_t GetCurrentFrameIndex () const
 
bool GetEditorPreview () const
 
void SetEditorPreview (bool enabled)
 
- Public Member Functions inherited from Node
 DECLARE_FACTORY_MANAGER (Node)
 
 DECLARE_FACTORY (Node, Node)
 
 DECLARE_OBJECT (Node, Object)
 
 DECLARE_SCRIPT_LINK_BASE (Node)
 
 Node ()
 
virtual ~Node ()
 
void DestroyDeferred ()
 
void Doom ()
 
virtual void SaveStream (Stream &stream, Platform platform)
 
virtual void LoadStream (Stream &stream, Platform platform, uint32_t version)
 
virtual void Copy (Node *srcNode, bool recurse)
 
virtual void Render (PipelineConfig pipelineConfig)
 
virtual void Awake ()
 
virtual void PrepareTick (std::vector< NodePtrWeak > &outTickNodes, bool game, bool recurse)
 
uint32_t GetLastTickedFrame () const
 
virtual void Render ()
 
virtual void OnInstanced ()
 
virtual VertexType GetVertexType () const
 
virtual void GatherReplicatedData (std::vector< NetDatum > &outData)
 
virtual void GatherNetFuncs (std::vector< NetFunc > &outFuncs)
 
void GatherPropertyOverrides (std::vector< Property > &outOverrides)
 
void ApplyPropertyOverrides (const std::vector< Property > &overs)
 
virtual void BeginOverlap (Primitive3D *thisComp, Primitive3D *otherComp)
 
virtual void EndOverlap (Primitive3D *thisComp, Primitive3D *otherComp)
 
virtual void OnCollision (Primitive3D *thisComp, Primitive3D *otherComp, glm::vec3 impactPoint, glm::vec3 impactNormal, btPersistentManifold *manifold)
 
NodeId GetNodeId () const
 
uint64_t GetPersistentUuid () const
 
void SetPersistentUuid (uint64_t uuid)
 
void EnsurePersistentUuid ()
 
void EmitSignal (const std::string &name, const std::vector< Datum > &args)
 
void ConnectSignal (const std::string &name, Node *listener, SignalHandlerFP func)
 
void ConnectSignal (const std::string &name, Node *listener, const ScriptFunc &func)
 
void DisconnectSignal (const std::string &name, Node *listener)
 
void RenderShadow ()
 
void RenderSelected (bool renderChildren)
 
NodeCreateChild (TypeId nodeType)
 
NodeCreateChild (const char *typeName)
 
NodeCreateChildClone (Node *srcNode, bool recurse)
 
NodePtr Clone (bool recurse, bool instantiateLinkedScene=true, bool resolveNodePaths=false)
 
void DestroyAllChildren ()
 
NodeGetRoot ()
 
bool IsWorldRoot () const
 
NodeGetSubRoot ()
 
template<class NodeClass >
NodeClass * CreateChild ()
 
template<class NodeClass >
SharedPtr< NodeClass > CreateChildSp ()
 
template<class NodeClass >
NodeClass * CreateChild (const char *name)
 
template<class NodeClass >
SharedPtr< NodeClass > CreateChildSp (const char *name)
 
bool IsDestroyed () const
 
bool IsPendingDestroy () const
 
bool IsDoomed () const
 
bool HasStarted () const
 
bool HasAwoken () const
 
void EnableTick (bool enable)
 
bool IsTickEnabled () const
 
virtual void SetWorld (World *world, bool subRoot)
 
WorldGetWorld ()
 
void SetScene (Scene *scene)
 
SceneGetScene ()
 
uint8_t GetTargetScreen () const
 
void SetTargetScreen (uint8_t screen)
 
std::vector< NetDatum > & GetReplicatedData ()
 
void SetNetId (NetId id)
 
NetId GetNetId () const
 
NetHostId GetOwningHost () const
 
void SetOwningHost (NetHostId hostId, bool setAsPawn=false)
 
void SetReplicate (bool replicate)
 
bool IsReplicated () const
 
void SetReplicateTransform (bool repTransform)
 
bool IsTransformReplicated () const
 
void ForceReplication ()
 
void ClearForcedReplication ()
 
bool NeedsForcedReplication ()
 
virtual bool CheckNetRelevance (Node *playerNode)
 
bool IsAlwaysRelevant () const
 
void SetAlwaysRelevant (bool alwaysRelevant)
 
bool HasTag (const std::string &tag)
 
void AddTag (const std::string &tag)
 
void RemoveTag (const std::string &tag)
 
void SetName (const std::string &newName)
 
const std::string & GetName () const
 
virtual void SetActive (bool active)
 
bool IsActive (bool recurse=false) const
 
virtual void SetVisible (bool visible)
 
bool IsVisible (bool recurse=false) const
 
void SetTransient (bool transient)
 
virtual bool IsTransient () const
 
void SetPersistent (bool persistent)
 
bool IsPersistent () const
 
void SetDefault (bool isDefault)
 
bool IsDefault () const
 
void SetUserdataCreated (bool created)
 
bool IsUserdataCreated () const
 
virtual DrawData GetDrawData ()
 
virtual bool IsNode3D () const
 
virtual bool IsWidget () const
 
virtual bool IsPrimitive3D () const
 
virtual bool IsLight3D () const
 
NodeGetParent ()
 
const NodeGetParent () const
 
const std::vector< NodePtr > & GetChildren () const
 
virtual void Attach (Node *parent, bool keepWorldTransform=false, int32_t index=-1)
 
void Detach (bool keepWorldTransform=false)
 
void AddChild (Node *child, int32_t index=-1)
 
void RemoveChild (Node *child)
 
void RemoveChild (int32_t index)
 
template<typename T >
void AddChild (const SharedPtr< T > &child, int32_t index=-1)
 
template<typename T >
void RemoveChild (const SharedPtr< Node > &child)
 
int32_t FindChildIndex (const std::string &name) const
 
int32_t FindChildIndex (Node *child) const
 
NodeFindChild (const std::string &name, bool recurse) const
 
NodeFindChildWithTag (const std::string &name, bool recurse) const
 
NodeFindDescendant (const std::string &name)
 
NodeFindAncestor (const std::string &name)
 
bool HasAncestor (Node *node)
 
NodeGetChild (int32_t index) const
 
NodeGetChildByType (TypeId type) const
 
uint32_t GetNumChildren () const
 
int32_t FindParentNodeIndex () const
 
void SetHitCheckId (uint32_t id)
 
uint32_t GetHitCheckId () const
 
bool IsLateTickEnabled () const
 
void EnableLateTick (bool enable)
 
ScriptGetScript ()
 
void SetScriptFile (const std::string &fileName)
 
bool DoChildrenHaveUniqueNames () const
 
void BreakSceneLink ()
 
bool IsSceneLinked (bool ignoreInPie=true) const
 
bool IsSceneLinkedChild (bool ignoreInPie=true)
 
bool IsForeign () const
 
bool HasAuthority () const
 
bool IsOwned () const
 
bool IsLocallyControlled () const
 
Datum GetField (const std::string &key)
 
void SetField (const std::string &name, const Datum &value)
 
Datum GetField (int32_t key)
 
void SetField (int32_t key, const Datum &value)
 
Datum CallFunction (const std::string &name, const std::vector< Datum > &args={})
 
NetFuncFindNetFunc (const char *name)
 
NetFuncFindNetFunc (uint16_t index)
 
void InvokeNetFunc (const char *name)
 
void InvokeNetFunc (const char *name, Datum param0)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4, Datum param5)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4, Datum param5, Datum param6)
 
void InvokeNetFunc (const char *name, Datum param0, Datum param1, Datum param2, Datum param3, Datum param4, Datum param5, Datum param6, Datum param7)
 
void InvokeNetFunc (const char *name, const std::vector< Datum > &params)
 
const WeakPtr< Node > & GetSelfPtr () const
 
template<typename T >
T * FindChild (const std::string &name, bool recurse)
 
template<typename T >
void Traverse (T func, bool inverted=false)
 
template<typename T >
bool ForEach (T func, bool inverted=false)
 
- Public Member Functions inherited from Object
virtual ~Object ()=default
 
virtual const char * RuntimeName () const =0
 
virtual const char * RuntimeParentName () const =0
 
virtual RuntimeId InstanceRuntimeId () const =0
 
virtual ObjectQueryInterface (RuntimeId id) const
 
virtual bool Is (RuntimeId id) const
 
virtual bool Is (const char *name) const
 
virtual bool DrawCustomProperty (Property &prop)
 
template<typename T >
T * As () const
 
virtual bool Equals (const Object *rhs) const
 

Protected Member Functions

void RebuildRegistry ()
 
void TickInternal (float deltaTime)
 
bool ResolveCurrentUV (glm::vec2 &outUV0, glm::vec2 &outUV1) const
 
TextureResolveCurrentTexture () const
 
SpriteAnimEntryFindEntry (const std::string &name)
 
const SpriteAnimEntryFindEntry (const std::string &name) const
 
int32_t EntryFrameCount (const SpriteAnimEntry &entry) const
 
float EntryFps (const SpriteAnimEntry &entry) const
 
bool EntryLoop (const SpriteAnimEntry &entry) const
 
- Protected Member Functions inherited from Node
void TickCommon (float deltaTime)
 
virtual void SetParent (Node *parent)
 
void ValidateUniqueChildName (Node *newChild)
 
void SendNetFunc (NetFunc *func, uint32_t numParams, const Datum **params)
 

Static Protected Member Functions

static bool HandlePropChange (Datum *datum, uint32_t index, const void *newValue)
 
- Static Protected Member Functions inherited from Node
static bool HandlePropChange (Datum *datum, uint32_t index, const void *newValue)
 
static bool OnRep_OwningHost (Datum *datum, uint32_t index, const void *newValue)
 

Protected Attributes

std::vector< SpriteAnimationRefmAnimations
 
std::string mDefaultAnimation
 
bool mAutoPlay = true
 
bool mLoopOverride = false
 
float mPlaybackSpeed = 1.0f
 
bool mEditorPreview = false
 
bool mEditorPlayButton = false
 
bool mEditorStopButton = false
 
std::unordered_map< std::string, SpriteAnimEntrymRegistry
 
std::string mCurrentName
 
int32_t mCurrentFrame = 0
 
float mElapsed = 0.0f
 
bool mPlaying = false
 
bool mRegistryDirty = true
 
bool mAnimateToActive = false
 
int32_t mAnimateToTarget = -1
 
bool mAnimateToPause = true
 
ScriptFunc mAnimateToCallback
 
- Protected Attributes inherited from Node
std::string mName
 
WorldmWorld = nullptr
 
NodePtrWeak mParent
 
NodePtrWeak mSelf
 
std::vector< NodePtrmChildren
 
std::unordered_map< std::string, Node * > mChildNameMap
 
std::unordered_map< std::string, SignalmSignalMap
 
std::string mScriptFile
 
uint32_t mLastTickedFrame = 0
 
bool mActive = true
 
bool mVisible = true
 
bool mTransient = false
 
bool mPersistent = false
 
bool mDefault = false
 
bool mUserdataCreated = false
 
bool mHasStarted = false
 
bool mHasAwoken = false
 
bool mDestroyed = false
 
bool mTickEnabled = true
 
bool mLateTick = false
 
SceneRef mScene
 
uint8_t mTargetScreen = 0
 
std::vector< std::string > mTags
 
NodeId mNodeId = INVALID_NODE_ID
 
uint64_t mPersistentUuid = 0
 
std::vector< NetDatummReplicatedData
 
NetId mNetId = INVALID_NET_ID
 
NetHostId mOwningHost = INVALID_HOST_ID
 
bool mReplicate = false
 
bool mReplicateTransform = false
 
bool mForceReplicate = false
 
bool mAlwaysRelevant = true
 
ScriptmScript = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from Node
static NodePtr Construct (const std::string &name)
 
static NodePtr Construct (TypeId typeId)
 
static void Destruct (Node *node)
 
static void ProcessPendingDestroys ()
 
static void RegisterNetFuncs (Node *node)
 
static void Deleter (Node *node)
 
template<class NodeClass >
static SharedPtr< NodeClass > Construct ()
 
- Static Public Member Functions inherited from Object
static const char * ClassRuntimeName ()
 
- Static Protected Attributes inherited from Node
static std::unordered_map< TypeId, NetFuncMapsTypeNetFuncMap
 
static std::unordered_set< NodePtrWeaksPendingDestroySet
 
static NodeId sNextNodeId = NodeId(1)
 

Constructor & Destructor Documentation

◆ SpriteAnimator()

SpriteAnimator::SpriteAnimator ( )

◆ ~SpriteAnimator()

SpriteAnimator::~SpriteAnimator ( )
virtual

Member Function Documentation

◆ AddAnimation() [1/2]

void SpriteAnimator::AddAnimation ( const std::string &  assetPath)

◆ AddAnimation() [2/2]

void SpriteAnimator::AddAnimation ( SpriteAnimation asset)

◆ AddImage() [1/2]

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

◆ AddImage() [2/2]

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

◆ AddImages()

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

◆ AnimateTo()

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

◆ AnimateToProgress()

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

◆ CancelAnimateTo()

void SpriteAnimator::CancelAnimateTo ( )

◆ Create()

void SpriteAnimator::Create ( )
overridevirtual

Reimplemented from Node.

◆ CreateAnimation() [1/2]

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

◆ CreateAnimation() [2/2]

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

◆ DECLARE_NODE()

SpriteAnimator::DECLARE_NODE ( SpriteAnimator  ,
Node   
)

◆ Destroy()

void SpriteAnimator::Destroy ( )
overridevirtual

Reimplemented from Node.

◆ EditorTick()

void SpriteAnimator::EditorTick ( float  deltaTime)
overridevirtual

Reimplemented from Node.

◆ EntryFps()

float SpriteAnimator::EntryFps ( const SpriteAnimEntry entry) const
protected

◆ EntryFrameCount()

int32_t SpriteAnimator::EntryFrameCount ( const SpriteAnimEntry entry) const
protected

◆ EntryLoop()

bool SpriteAnimator::EntryLoop ( const SpriteAnimEntry entry) const
protected

◆ FindEntry() [1/2]

SpriteAnimEntry * SpriteAnimator::FindEntry ( const std::string &  name)
protected

◆ FindEntry() [2/2]

const SpriteAnimEntry * SpriteAnimator::FindEntry ( const std::string &  name) const
protected

◆ GatherProperties()

void SpriteAnimator::GatherProperties ( std::vector< Property > &  outProps)
overridevirtual

Reimplemented from Node.

◆ GetAutoPlay()

bool SpriteAnimator::GetAutoPlay ( ) const
inline

◆ GetCurrentAnimationName()

const std::string & SpriteAnimator::GetCurrentAnimationName ( ) const
inline

◆ GetCurrentFrameIndex()

int32_t SpriteAnimator::GetCurrentFrameIndex ( ) const
inline

◆ GetCurrentTexture()

Texture * SpriteAnimator::GetCurrentTexture ( ) const

◆ GetCurrentUVOffset()

glm::vec2 SpriteAnimator::GetCurrentUVOffset ( ) const

◆ GetCurrentUVRect()

glm::vec4 SpriteAnimator::GetCurrentUVRect ( ) const

◆ GetCurrentUVScale()

glm::vec2 SpriteAnimator::GetCurrentUVScale ( ) const

◆ GetDefaultAnimation()

const std::string & SpriteAnimator::GetDefaultAnimation ( ) const
inline

◆ GetEditorPreview()

bool SpriteAnimator::GetEditorPreview ( ) const
inline

◆ GetLoopOverride()

bool SpriteAnimator::GetLoopOverride ( ) const
inline

◆ GetProgress()

float SpriteAnimator::GetProgress ( ) const

◆ GetSpeed()

float SpriteAnimator::GetSpeed ( ) const
inline

◆ GetTypeName()

const char * SpriteAnimator::GetTypeName ( ) const
overridevirtual

Reimplemented from Node.

◆ HandlePropChange()

bool SpriteAnimator::HandlePropChange ( Datum datum,
uint32_t  index,
const void *  newValue 
)
staticprotected

◆ HasAnimation()

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

◆ IsPlaying()

bool SpriteAnimator::IsPlaying ( ) const
inline

◆ Pause()

void SpriteAnimator::Pause ( )

◆ Play()

void SpriteAnimator::Play ( )

◆ PlayAnimation()

void SpriteAnimator::PlayAnimation ( const std::string &  name)

◆ RebuildRegistry()

void SpriteAnimator::RebuildRegistry ( )
protected

◆ RemoveAnimation()

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

◆ ResolveCurrentTexture()

Texture * SpriteAnimator::ResolveCurrentTexture ( ) const
protected

◆ ResolveCurrentUV()

bool SpriteAnimator::ResolveCurrentUV ( glm::vec2 &  outUV0,
glm::vec2 &  outUV1 
) const
protected

◆ SetAutoPlay()

void SpriteAnimator::SetAutoPlay ( bool  autoPlay)
inline

◆ SetDefaultAnimation()

void SpriteAnimator::SetDefaultAnimation ( const std::string &  name)
inline

◆ SetEditorPreview()

void SpriteAnimator::SetEditorPreview ( bool  enabled)
inline

◆ SetFrame()

void SpriteAnimator::SetFrame ( int32_t  frameIndex)

◆ SetLoopOverride()

void SpriteAnimator::SetLoopOverride ( bool  loop)
inline

◆ SetSpeed()

void SpriteAnimator::SetSpeed ( float  speed)

◆ Start()

void SpriteAnimator::Start ( )
overridevirtual

Reimplemented from Node.

◆ Stop()

void SpriteAnimator::Stop ( )
virtual

Reimplemented from Node.

◆ Tick()

void SpriteAnimator::Tick ( float  deltaTime)
overridevirtual

Reimplemented from Node.

◆ TickInternal()

void SpriteAnimator::TickInternal ( float  deltaTime)
protected

Member Data Documentation

◆ mAnimateToActive

bool SpriteAnimator::mAnimateToActive = false
protected

◆ mAnimateToCallback

ScriptFunc SpriteAnimator::mAnimateToCallback
protected

◆ mAnimateToPause

bool SpriteAnimator::mAnimateToPause = true
protected

◆ mAnimateToTarget

int32_t SpriteAnimator::mAnimateToTarget = -1
protected

◆ mAnimations

std::vector<SpriteAnimationRef> SpriteAnimator::mAnimations
protected

◆ mAutoPlay

bool SpriteAnimator::mAutoPlay = true
protected

◆ mCurrentFrame

int32_t SpriteAnimator::mCurrentFrame = 0
protected

◆ mCurrentName

std::string SpriteAnimator::mCurrentName
protected

◆ mDefaultAnimation

std::string SpriteAnimator::mDefaultAnimation
protected

◆ mEditorPlayButton

bool SpriteAnimator::mEditorPlayButton = false
protected

◆ mEditorPreview

bool SpriteAnimator::mEditorPreview = false
protected

◆ mEditorStopButton

bool SpriteAnimator::mEditorStopButton = false
protected

◆ mElapsed

float SpriteAnimator::mElapsed = 0.0f
protected

◆ mLoopOverride

bool SpriteAnimator::mLoopOverride = false
protected

◆ mPlaybackSpeed

float SpriteAnimator::mPlaybackSpeed = 1.0f
protected

◆ mPlaying

bool SpriteAnimator::mPlaying = false
protected

◆ mRegistry

std::unordered_map<std::string, SpriteAnimEntry> SpriteAnimator::mRegistry
protected

◆ mRegistryDirty

bool SpriteAnimator::mRegistryDirty = true
protected

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