$#include "AnimationController.h" struct AnimationControl { AnimationControl(); StringHash hash_; float speed_; float targetWeight_; float fadeTime_; float autoFadeTime_; float setTimeTtl_; float setWeightTtl_; unsigned short setTime_; unsigned char setWeight_; unsigned char setTimeRev_; unsigned char setWeightRev_; }; class AnimationController : public Component { bool Play(const String& name, unsigned char layer, bool looped, float fadeInTime = 0.0f); bool Play(const char* name, unsigned char layer, bool looped, float fadeInTime = 0.0f); bool PlayExclusive(const String& name, unsigned char layer, bool looped, float fadeTime = 0.0f); bool PlayExclusive(const char* name, unsigned char layer, bool looped, float fadeTime = 0.0f); bool Stop(const String& name, float fadeOutTime = 0.0f); bool Stop(const char* name, float fadeOutTime = 0.0f); void StopLayer(unsigned char layer, float fadeOutTime = 0.0f); void StopAll(float fadeTime = 0.0f); bool Fade(const String& name, float targetWeight, float fadeTime); bool Fade(const char* name, float targetWeight, float fadeTime); bool FadeOthers(const String& name, float targetWeight, float fadeTime); bool FadeOthers(const char* name, float targetWeight, float fadeTime); bool SetLayer(const String& name, unsigned char layer); bool SetLayer(const char* name, unsigned char layer); bool SetStartBone(const String& name, const String& startBoneName); bool SetStartBone(const char* name, const String& startBoneName); bool SetTime(const String& name, float time); bool SetTime(const char* name, float time); bool SetWeight(const String& name, float weight); bool SetWeight(const char* name, float weight); bool SetLooped(const String& name, bool enable); bool SetLooped(const char* name, bool enable); bool SetSpeed(const String& name, float speed); bool SetSpeed(const char* name, float speed); bool SetAutoFade(const String& name, float fadeOutTime); bool SetAutoFade(const char* name, float fadeOutTime); bool IsPlaying(const String& name) const; bool IsPlaying(const char* name) const; bool IsFadingIn(const String& name) const; bool IsFadingIn(const char* name) const; bool IsFadingOut(const String& name) const; bool IsFadingOut(const char* name) const; unsigned char GetLayer(const String& name) const; unsigned char GetLayer(const char* name) const; Bone* GetStartBone(const String& name) const; Bone* GetStartBone(const char* name) const; const String& GetStartBoneName(const String& name) const; const String& GetStartBoneName(const char* name) const; float GetTime(const String& name) const; float GetTime(const String& name) const; float GetWeight(const String& name) const; float GetWeight(const char* name) const; bool IsLooped(const String& name) const; bool IsLooped(const char* name) const; float GetLength(const String& name) const; float GetLength(const char* name) const; float GetSpeed(const String& name) const; float GetSpeed(const char* name) const; float GetFadeTarget(const String& name) const; float GetFadeTarget(const char* name) const; float GetFadeTime(const String& name) const; float GetFadeTime(const char* name) const; float GetAutoFade(const String& name) const; float GetAutoFade(const char* name) const; };