VideoNachricht.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #ifndef VideoNachricht_H
  2. #define VideoNachricht_H
  3. #include <Datei.h>
  4. #include <Text.h>
  5. #include "../VideoDaten/VideoDaten.h"
  6. using namespace Framework;
  7. struct VideoMSG
  8. {
  9. char typ; // 0 = Tick, 1 = Aktion
  10. };
  11. // typ = 1
  12. struct VideoAktionMSG : public VideoMSG
  13. {
  14. int spielerNummer;
  15. char aktion; // 0 = T_Links press, 1 = T_Links release, 2 = T_Rechts press, 3 = T_Rechts release, 4 = Chat Nachricht, 5 = Linien Unterbrechung
  16. };
  17. // action = 4
  18. struct VideoChatMSG : public VideoAktionMSG
  19. {
  20. int län;
  21. Text msg;
  22. };
  23. // aktion = 5
  24. struct VideoLinieMSG : public VideoAktionMSG
  25. {
  26. char unterbrechung;
  27. };
  28. class RundeNachricht
  29. {
  30. private:
  31. int index;
  32. int maxNachricht;
  33. Array< VideoMSG* > *nachrichten;
  34. Datei *vDat;
  35. RundeVideoDaten *rvd;
  36. Array< RundeSpielerVideoDaten* > *rsvd;
  37. bool aktiv;
  38. int ref;
  39. public:
  40. // Konstruktor
  41. RundeNachricht( Datei *d, int spielerAnzahl );
  42. // Destruktor
  43. ~RundeNachricht();
  44. // nicht constant
  45. VideoMSG *GetNextNachricht();
  46. VideoMSG *GetLastNachricht();
  47. void setEnde();
  48. // constant
  49. RundeVideoDaten *getRVD() const;
  50. RundeSpielerVideoDaten *getRSVD( int index ) const;
  51. // Reference Counting
  52. RundeNachricht *getThis();
  53. RundeNachricht *release();
  54. };
  55. class SpielNachricht
  56. {
  57. private:
  58. int runde;
  59. int maxRunde;
  60. int teamAnzahl;
  61. RCArray< RundeNachricht > *runden;
  62. Datei *vDat;
  63. SpielVideoDaten *svd;
  64. Array< SpielerVideoDaten* > *spvd;
  65. Array< TeamVideoDaten* > *tvd;
  66. bool error;
  67. Text *fehler;
  68. int ref;
  69. public:
  70. // Konstruktor
  71. SpielNachricht( int num );
  72. // Destruktor
  73. ~SpielNachricht();
  74. // nicht constant
  75. VideoMSG *GetNextNachricht();
  76. VideoMSG *GetLastNachricht();
  77. int setRundenEnde( bool vorwärts );
  78. // constant
  79. SpielVideoDaten *getSVD() const;
  80. SpielerVideoDaten *getSPVD( int index ) const;
  81. TeamVideoDaten *getTVD( int index ) const;
  82. RundeVideoDaten *getRVD() const;
  83. RundeSpielerVideoDaten *getRSVD( int index ) const;
  84. bool hatFehler( Text *txt ) const;
  85. int getTeamAnzahl() const;
  86. int getRunde() const;
  87. // Reference Counting
  88. SpielNachricht *getThis();
  89. SpielNachricht *release();
  90. };
  91. #endif