123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #ifndef VideoNachricht_H
- #define VideoNachricht_H
- #include <Datei.h>
- #include <Text.h>
- #include "../VideoDaten/VideoDaten.h"
- using namespace Framework;
- struct VideoMSG
- {
- char typ; // 0 = Tick, 1 = Aktion
- };
- // typ = 1
- struct VideoAktionMSG : public VideoMSG
- {
- int spielerNummer;
- char aktion; // 0 = T_Links press, 1 = T_Links release, 2 = T_Rechts press, 3 = T_Rechts release, 4 = Chat Nachricht, 5 = Linien Unterbrechung
- };
- // action = 4
- struct VideoChatMSG : public VideoAktionMSG
- {
- int län;
- Text msg;
- };
- // aktion = 5
- struct VideoLinieMSG : public VideoAktionMSG
- {
- char unterbrechung;
- };
- class RundeNachricht
- {
- private:
- int index;
- int maxNachricht;
- Array< VideoMSG* > *nachrichten;
- Datei *vDat;
- RundeVideoDaten *rvd;
- Array< RundeSpielerVideoDaten* > *rsvd;
- bool aktiv;
- int ref;
- public:
- // Konstruktor
- RundeNachricht( Datei *d, int spielerAnzahl );
- // Destruktor
- ~RundeNachricht();
- // nicht constant
- VideoMSG *GetNextNachricht();
- VideoMSG *GetLastNachricht();
- void setEnde();
- // constant
- RundeVideoDaten *getRVD() const;
- RundeSpielerVideoDaten *getRSVD( int index ) const;
- // Reference Counting
- RundeNachricht *getThis();
- RundeNachricht *release();
- };
- class SpielNachricht
- {
- private:
- int runde;
- int maxRunde;
- int teamAnzahl;
- RCArray< RundeNachricht > *runden;
- Datei *vDat;
- SpielVideoDaten *svd;
- Array< SpielerVideoDaten* > *spvd;
- Array< TeamVideoDaten* > *tvd;
- bool error;
- Text *fehler;
- int ref;
- public:
- // Konstruktor
- SpielNachricht( int num );
- // Destruktor
- ~SpielNachricht();
- // nicht constant
- VideoMSG *GetNextNachricht();
- VideoMSG *GetLastNachricht();
- int setRundenEnde( bool vorwärts );
- // constant
- SpielVideoDaten *getSVD() const;
- SpielerVideoDaten *getSPVD( int index ) const;
- TeamVideoDaten *getTVD( int index ) const;
- RundeVideoDaten *getRVD() const;
- RundeSpielerVideoDaten *getRSVD( int index ) const;
- bool hatFehler( Text *txt ) const;
- int getTeamAnzahl() const;
- int getRunde() const;
- // Reference Counting
- SpielNachricht *getThis();
- SpielNachricht *release();
- };
- #endif
|