#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< Animation * > *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; }; }