StatistikChat.h 3.5 KB

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