#ifndef StatistikChat_H #define StatistikChat_H #include #include #include #include #include using namespace Framework; class ChatListeSpieler : public virtual ReferenceCounter { private: void( *addChatF )( void *, int ); void( *addFreundF )( void *, int ); void( *accountAnsehenF )( void *, int ); void *nachrichtParam; int accountId; AlphaFeld *bg; TextFeld *name; Knopf *accountAnsehen; Knopf *nachrichtSenden; Knopf *freundesanfrageSenden; Punkt pos; Punkt gr; bool online; int minKnopfX; int knopfX; bool mausIn; double tickVal; bool rend; public: // Konstruktor ChatListeSpieler( int accountId, int eigeneId, UIInit &uiFactory, BilderV *bilder, KSGClient::InformationServerClient *zInfoc, bool istFreund, void( *addChatF )( void *, int ), void( *addFreundF )( void *, int ), void( *accountAnsehenF )( void *, int ), void *param ); // Destruktor ~ChatListeSpieler(); // nicht constant void setOffline(); void setPosition( int y ); void doPublicMausEreignis( MausEreignis &me ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant int getAccountId() const; }; class ChatListe : public virtual ReferenceCounter { private: void( *addChat )( void *, int ); void( *addFreund )( void *, int ); void( *accountAnsehen )( void *, int ); void *nachrichtParam; int eigeneId; RCArray< ChatListeSpieler > *spieler; VScrollBar *vScroll; Punkt pos; Punkt gr; KSGClient::InformationServerClient *infoc; UIInit uiFactory; BilderV *bilder; Rahmen *ram; bool rend; public: // Konstruktor ChatListe( int eigeneId, KSGClient::InformationServerClient *infoc, UIInit &uiFactory, BilderV *bilder, void( *addChat )( void *, int ), void( *addFreund )( void *, int ), void( *accountAnsehen )( void *, int ), void *param ); // Destruktor ~ChatListe(); // nicht constant void addSpieler( int accountId, bool istFreund ); void setOffline( int accountId ); void doPublicMausEreignis( MausEreignis &me ); bool tick( double tickVal ); void render( Bild &zRObj ); }; class StatistikChat : public virtual ReferenceCounter { private: void( *addNachricht )( void *, Text *, Text *, Text *, Text * ); void *nachrichtParam; KSGClient::SpielServerClient *spielc; KSGClient::InformationServerClient *infoc; TextFeld *verlauf; TextFeld *nachricht; Knopf *senden; Knopf *verlassen; ChatListe *spielerListe; bool beenden; public: // Konstruktor StatistikChat( int eigeneId, KSGClient::SpielServerClient *spielc, KSGClient::InformationServerClient *infoc, UIInit &uiFactory, BilderV *bilder, void( *addNachricht )( void *, Text *, Text *, Text *, Text * ), void( *addChat )( void *, int ), void( *addFreund )( void *, int ), void( *accountAnsehen )( void *, int ), void *param ); // Destruktor ~StatistikChat(); // nicht constant void addSpieler( int accountId, bool istFreund ); void spielerOffline( int accountId ); void addChatNachricht( int vonAccount, char *nachricht ); void doPublicMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant bool hatVerlassen() const; }; #endif