123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #pragma once
- #include "../Netzwerk/EditorKlient.h"
- #include "../Abstract/Model.h"
- #include <Punkt.h>
- #include <Critical.h>
- #include <functional>
- namespace Editor
- {
- struct SpielerDaten : public Model
- {
- int id;
- Punkt pos;
- double rot;
- double beschleunigung;
- int maxStabilität;
- int maxEnergie;
- double reparatur;
- double akkuLeistung;
- int laserIntensität;
- int laserEffizienz;
- int laserTempo;
- double wendigkeit;
- double antriebEffizienz;
- double energieSchild;
- double energieSchildEffizienz;
- int netzwerk;
- int skillPunkte;
- int m2d;
- int bild;
- };
- struct TeamDaten : public Model
- {
- int id;
- int maxPunkte;
- double beschleunigung;
- int maxStabilität;
- int maxEnergie;
- double reparatur;
- double akkuLeistung;
- int laserIntensität;
- int laserEffizienz;
- int laserTempo;
- double wendigkeit;
- double antriebEffizienz;
- double energieSchild;
- double energieSchildEffizienz;
- int punkte;
- };
- struct ObjektDaten : public Model
- {
- Punkt pos;
- int id;
- int m2d;
- int bild;
- int style;
- int maxStabilität;
- int maxEnergie;
- int energieRadius;
- double reparatur;
- double akkuLeistung;
- char team;
- };
- class KarteDaten : public Thread
- {
- private:
- EditorKlient * client;
- SpielerTeamStruktur *sts;
- Array< SpielerDaten* > spieler;
- Array< TeamDaten* > teams;
- Array< ObjektDaten* > objekte;
- Text error;
- Array< std::function< void() > > aktionen;
- Critical cs;
- bool exit;
- public:
- KarteDaten( EditorKlient *client );
- ~KarteDaten();
- void addObjekt( ObjektDaten &daten );
- void removeObjekt( int index );
- void getObjekt( int index, std::function< bool( ObjektDaten* ) > callBack );
- void getSpieler( int index, std::function< bool( SpielerDaten* ) > callBack );
- void getTeam( int index, std::function< bool( TeamDaten* ) > callBack );
- void thread() override;
- const ObjektDaten *getObjekt( int index );
- const SpielerDaten *getSpieler( int index );
- const TeamDaten *getTeam( int index );
- int getSpielerIndexById( int id );
- int getSpielerAnzahl() const;
- int getTeamIndexById( int id );
- int getTeamAnzahl() const;
- int getObjektAnzahl() const;
- bool hasError() const;
- char *getError() const;
- bool hasAktions() const;
- // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
- Thread *release() override;
- };
- }
|