#pragma once #include "Array.h" namespace Framework { class Bild; class Animation2DData; class Textur2D : public virtual ReferenceCounter { private: struct Animation { Animation2DData* data; int jetzt; double ausgleich; }; bool circularAnimation; int animationIndex; Bild* txt; Array* animData; public: //! Konstructor DLLEXPORT Textur2D(); //! Destructor DLLEXPORT ~Textur2D(); //! Legt fest, ob die animation sich automatisch wiederhohlen soll //! \param ca 1, falls sich die animation automatisch wiederhohlen soll DLLEXPORT void setCircularAnimation(bool ca); //! setzt einen Zeiger auf die Textur (fals nicht animiert) //! \param textur Der Zeiger auf das Bild DLLEXPORT void setTexturZ(Bild* textur); //! fügt eine Animation hinzu //! \param textur Der Zeiger auf die Animationsdaten DLLEXPORT void addAnimationZ(Animation2DData* textur); //! setzt die aktuelle Annimation //! \param index Der Index der Animation DLLEXPORT void setAnimation(int index); //! aktiviert die nachfolgende animation DLLEXPORT void nextAnimation(); //! setzt die vergangene Zeit seit dem letzten Aufruf //! \param t die vergangene Zeit in sekunden DLLEXPORT bool tick(double t); //! gibt die aktuelle Textur zurück DLLEXPORT Bild* zTextur() const; }; } // namespace Framework