summaryrefslogtreecommitdiffstats
path: root/libksirtet/common/inter.h
diff options
context:
space:
mode:
Diffstat (limited to 'libksirtet/common/inter.h')
-rw-r--r--libksirtet/common/inter.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/libksirtet/common/inter.h b/libksirtet/common/inter.h
new file mode 100644
index 00000000..e38c2ed5
--- /dev/null
+++ b/libksirtet/common/inter.h
@@ -0,0 +1,62 @@
+#ifndef COMMON_INTER_H
+#define COMMON_INTER_H
+
+#include <kexthighscore.h>
+#include "lib/libksirtet_export.h"
+
+#include "lib/mp_simple_interface.h"
+#include "base/inter.h"
+#include "types.h"
+#include "board.h"
+
+
+class Field;
+
+class LIBKSIRTET_EXPORT Interface : public MPSimpleInterface, public BaseInterface
+{
+ Q_OBJECT
+public:
+ Interface(const MPGameInfo &, QWidget *parent);
+
+signals:
+ void settingsChanged();
+
+public slots:
+ void normalGame();
+ void arcadeGame();
+ void settingsChangedSlot() { emit settingsChanged(); }
+
+protected:
+ void _showHighscores(QWidget *parent);
+
+private:
+ QMemArray<ClientPlayData> _data;
+ KExtHighscore::Score _score;
+ KExtHighscore::MultiplayerScores _scores;
+ Field *_firstField;
+
+ enum Action { Nb_Actions = 8 };
+ static const ActionData ACTION_DATA[Nb_Actions];
+ static const int KEYCODE_ONE[Nb_Actions];
+ static const int KEYCODE_TWO[Nb_Actions];
+
+ MPBoard *newBoard(uint);
+ void setInitData(uint player, ServerInitData &);
+ uint prev(uint i) const;
+ uint next(uint i) const;
+
+ void _readGameOverData(QDataStream &s);
+ void _sendGameOverData(QDataStream &s);
+ void _firstInit() {}
+ void _treatInit();
+ void _init();
+ void _showGameOverData();
+ bool _readPlayData();
+ void _sendPlayData();
+
+ void _start() { MPSimpleInterface::start(); }
+ void _pause() { MPSimpleInterface::pause(); }
+ bool _isPaused() const { return MPSimpleInterface::isPaused(); }
+};
+
+#endif