StatistikChat.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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 <UIInitialization.h>
  8. using namespace Framework;
  9. class ChatListeSpieler : public virtual ReferenceCounter
  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. public:
  31. // Konstruktor
  32. ChatListeSpieler( int accountId, int eigeneId, UIInit &uiFactory, 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 doPublicMausEreignis( MausEreignis &me );
  41. bool tick( double tickVal );
  42. void render( Bild &zRObj );
  43. // constant
  44. int getAccountId() const;
  45. };
  46. class ChatListe : public virtual ReferenceCounter
  47. {
  48. private:
  49. void( *addChat )( void *, int );
  50. void( *addFreund )( void *, int );
  51. void( *accountAnsehen )( void *, int );
  52. void *nachrichtParam;
  53. int eigeneId;
  54. RCArray< ChatListeSpieler > *spieler;
  55. VScrollBar *vScroll;
  56. Punkt pos;
  57. Punkt gr;
  58. KSGClient::InformationServerClient *infoc;
  59. UIInit uiFactory;
  60. BilderV *bilder;
  61. Rahmen *ram;
  62. bool rend;
  63. public:
  64. // Konstruktor
  65. ChatListe( int eigeneId, KSGClient::InformationServerClient *infoc, UIInit &uiFactory, BilderV *bilder,
  66. void( *addChat )( void *, int ), void( *addFreund )( void *, int ),
  67. void( *accountAnsehen )( void *, int ), void *param );
  68. // Destruktor
  69. ~ChatListe();
  70. // nicht constant
  71. void addSpieler( int accountId, bool istFreund );
  72. void setOffline( int accountId );
  73. void doPublicMausEreignis( MausEreignis &me );
  74. bool tick( double tickVal );
  75. void render( Bild &zRObj );
  76. };
  77. class StatistikChat : public virtual ReferenceCounter
  78. {
  79. private:
  80. void( *addNachricht )( void *, Text *, Text *, Text *, Text * );
  81. void *nachrichtParam;
  82. KSGClient::SpielServerClient *spielc;
  83. KSGClient::InformationServerClient *infoc;
  84. TextFeld *verlauf;
  85. TextFeld *nachricht;
  86. Knopf *senden;
  87. Knopf *verlassen;
  88. ChatListe *spielerListe;
  89. bool beenden;
  90. public:
  91. // Konstruktor
  92. StatistikChat( int eigeneId, KSGClient::SpielServerClient *spielc, KSGClient::InformationServerClient *infoc, UIInit &uiFactory, BilderV *bilder,
  93. void( *addNachricht )( void *, Text *, Text *, Text *, Text * ),
  94. void( *addChat )( void *, int ), void( *addFreund )( void *, int ),
  95. void( *accountAnsehen )( void *, int ), void *param );
  96. // Destruktor
  97. ~StatistikChat();
  98. // nicht constant
  99. void addSpieler( int accountId, bool istFreund );
  100. void spielerOffline( int accountId );
  101. void addChatNachricht( int vonAccount, char *nachricht );
  102. void doPublicMausEreignis( MausEreignis &me );
  103. void doTastaturEreignis( TastaturEreignis &te );
  104. bool tick( double tickVal );
  105. void render( Bild &zRObj );
  106. // constant
  107. bool hatVerlassen() const;
  108. };
  109. #endif