StatistikChat.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef StatistikChat_H
  2. #define StatistikChat_H
  3. #include <Fenster.h>
  4. #include <Knopf.h>
  5. #include <KSGNetwork.h>
  6. #include <BilderV.h>
  7. using namespace Framework;
  8. class ChatListeSpieler
  9. {
  10. private:
  11. void( *addChatF )( void *, int );
  12. void( *addFreundF )( void *, int );
  13. void( *accountAnsehenF )( void *, int );
  14. void *nachrichtParam;
  15. int accountId;
  16. AlphaFeld *bg;
  17. TextFeld *name;
  18. Knopf *accountAnsehen;
  19. Knopf *nachrichtSenden;
  20. Knopf *freundesanfrageSenden;
  21. Punkt pos;
  22. Punkt gr;
  23. bool online;
  24. int minKnopfX;
  25. int knopfX;
  26. bool mausIn;
  27. double tickVal;
  28. bool rend;
  29. int ref;
  30. public:
  31. // Konstruktor
  32. ChatListeSpieler( int accountId, int eigeneId, Schrift *zSchrift, BilderV *bilder, KSGClient::InformationServerClient *zInfoc,
  33. bool istFreund, void( *addChatF )( void*, int ), void( *addFreundF )( void*, int ),
  34. void( *accountAnsehenF )( void *, int ), void *param );
  35. // Destruktor
  36. ~ChatListeSpieler();
  37. // nicht constant
  38. void setOffline();
  39. void setPosition( int y );
  40. void doMausEreignis( MausEreignis &me );
  41. bool tick( double tickVal );
  42. void render( Bild &zRObj );
  43. // constant
  44. int getAccountId() const;
  45. // Reference Counting
  46. ChatListeSpieler *getThis();
  47. ChatListeSpieler *release();
  48. };
  49. class ChatListe
  50. {
  51. private:
  52. void( *addChat )( void *, int );
  53. void( *addFreund )( void *, int );
  54. void( *accountAnsehen )( void *, int );
  55. void *nachrichtParam;
  56. int eigeneId;
  57. RCArray< ChatListeSpieler > *spieler;
  58. VScrollBar *vScroll;
  59. Punkt pos;
  60. Punkt gr;
  61. KSGClient::InformationServerClient *infoc;
  62. Schrift *schrift;
  63. BilderV *bilder;
  64. Rahmen *ram;
  65. bool rend;
  66. int ref;
  67. public:
  68. // Konstruktor
  69. ChatListe( int eigeneId, KSGClient::InformationServerClient *infoc, Schrift *schrift, BilderV *bilder,
  70. void( *addChat )( void*, int ), void( *addFreund )( void*, int ),
  71. void( *accountAnsehen )( void *, int ), void *param );
  72. // Destruktor
  73. ~ChatListe();
  74. // nicht constant
  75. void addSpieler( int accountId, bool istFreund );
  76. void setOffline( int accountId );
  77. void doMausEreignis( MausEreignis &me );
  78. bool tick( double tickVal );
  79. void render( Bild &zRObj );
  80. // constant
  81. // Reference Counting
  82. ChatListe *getThis();
  83. ChatListe *release();
  84. };
  85. class StatistikChat
  86. {
  87. private:
  88. void( *addNachricht )( void *, Text *, Text *, Text *, Text * );
  89. void *nachrichtParam;
  90. KSGClient::SpielServerClient *spielc;
  91. KSGClient::InformationServerClient *infoc;
  92. TextFeld *verlauf;
  93. TextFeld *nachricht;
  94. Knopf *senden;
  95. Knopf *verlassen;
  96. ChatListe *spielerListe;
  97. bool beenden;
  98. int ref;
  99. public:
  100. // Konstruktor
  101. StatistikChat( int eigeneId, KSGClient::SpielServerClient *spielc, KSGClient::InformationServerClient *infoc, Schrift *schrift, BilderV *bilder,
  102. void( *addNachricht )( void *, Text *, Text *, Text *, Text * ),
  103. void( *addChat )( void*, int ), void( *addFreund )( void*, int ),
  104. void( *accountAnsehen )( void *, int ), void *param );
  105. // Destruktor
  106. ~StatistikChat();
  107. // nicht constant
  108. void addSpieler( int accountId, bool istFreund );
  109. void spielerOffline( int accountId );
  110. void addChatNachricht( int vonAccount, char *nachricht );
  111. void doMausEreignis( MausEreignis &me );
  112. void doTastaturEreignis( TastaturEreignis &te );
  113. bool tick( double tickVal );
  114. void render( Bild &zRObj );
  115. // constant
  116. bool hatVerlassen();
  117. // Reference Counting
  118. StatistikChat *getThis();
  119. StatistikChat *release();
  120. };
  121. #endif