#pragma once #include "Array.h" namespace Framework { class Bild; class Animation2DData; class Textur2D { private: struct Animation { Animation2DData *data; int jetzt; double ausgleich; }; bool circularAnimation; int animationIndex; Bild *txt; Array< Animation* > *animData; int ref; public: // Konstructor Textur2D(); // Destructor ~Textur2D(); // Legt fest, ob die animation sich automatisch wiederhohlen soll // ca: 1, falls sich die animation automatisch wiederhohlen soll void setCircularAnimation( bool ca ); // setzt einen Zeiger auf die Textur (fals nicht animiert) // textur: Der Zeiger auf das Bild void setTexturZ( Bild *textur ); // fügt eine Animation hinzu // textur: Der Zeiger auf die Animationsdaten void addAnimationZ( Animation2DData *textur ); // aktiviert die nachfolgende animation void nextAnimation(); // setzt die vergangene Zeit seit dem letzten Aufruf // t: die vergangene Zeit in sekunden bool tick( double t ); // gibt die aktuelle Textur zurück Bild *zTextur() const; // erhöht den Reference Counter um 1 und gibt this zurück Textur2D *getThis(); // verringert den reference counter um 1 und löscht sich selbst, falls er 0 erreicht // gibt 0 zurück Textur2D *release(); }; }