StatistikChat.h 3.4 KB

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