• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • libtdegames
 

libtdegames

  • libtdegames
  • kgame
kgameio.h
1 /*
2  This file is part of the TDE games library
3  Copyright (C) 2001 Martin Heni (martin@heni-online.de)
4  Copyright (C) 2001 Andreas Beckermann (b_mann@gmx.de)
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Library General Public
8  License version 2 as published by the Free Software Foundation.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Library General Public License for more details.
14 
15  You should have received a copy of the GNU Library General Public License
16  along with this library; see the file COPYING.LIB. If not, write to
17  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  Boston, MA 02110-1301, USA.
19 */
20 /*
21  $Id$
22 */
23 #ifndef __KGAMEIO_H__
24 #define __KGAMEIO_H__
25 
26 #include <tqstring.h>
27 #include <tqobject.h>
28 #include <tdemacros.h>
29 class KPlayer;
30 class KGame;
31 class TDEProcess;
32 
55 class TDE_EXPORT KGameIO : public TQObject
56 {
57  TQ_OBJECT
58 
59 
60 public:
64  KGameIO();
65  KGameIO(KPlayer*);
66  virtual ~KGameIO();
67 
71  void Debug();
72 
76  enum IOMode {GenericIO=1,KeyIO=2,MouseIO=4,ProcessIO=8,ComputerIO=16};
83  virtual int rtti() const = 0; // Computer, network, local, ...
84 
90  KPlayer *player() const {return mPlayer;}
91 
96  KGame* game() const;
97 
105  void setPlayer(KPlayer *p) {mPlayer=p;}
106 
116  virtual void initIO(KPlayer *p);
117 
127  virtual void notifyTurn(bool b);
128 
132  bool sendInput(TQDataStream& stream, bool transmit = true, TQ_UINT32 sender = 0);
133 
134 signals:
166  void signalPrepareTurn(TQDataStream & stream, bool turn, KGameIO *io, bool * send);
167 
168 
169 private:
170  KPlayer *mPlayer;
171 };
172 
178 class TDE_EXPORT KGameKeyIO : public KGameIO
179 {
180  TQ_OBJECT
181 
182 
183 public:
204  KGameKeyIO(TQWidget *parent);
205  virtual ~KGameKeyIO();
206 
212  virtual int rtti() const;
213 
214 signals:
236  void signalKeyEvent(KGameIO *io,TQDataStream &stream,TQKeyEvent *m,bool *eatevent);
237 
238 protected:
242  bool eventFilter( TQObject *o, TQEvent *e );
243 };
244 
250 class TDE_EXPORT KGameMouseIO : public KGameIO
251 {
252  TQ_OBJECT
253 
254 
255 public:
271  KGameMouseIO(TQWidget *parent,bool trackmouse=false);
272  virtual ~KGameMouseIO();
273 
279  void setMouseTracking(bool b);
285  virtual int rtti() const;
286 
287 signals:
307  void signalMouseEvent(KGameIO *io,TQDataStream &stream,TQMouseEvent *m,bool *eatevent);
308 
309 protected:
313  bool eventFilter( TQObject *o, TQEvent *e );
314 
315 };
316 
317 
326 class TDE_EXPORT KGameProcessIO : public KGameIO
327 {
328  TQ_OBJECT
329 
330 
331 public:
347  KGameProcessIO(const TQString& name);
348 
352  virtual ~KGameProcessIO();
353 
359  int rtti() const;
360 
371  void sendMessage(TQDataStream &stream,int msgid, TQ_UINT32 receiver, TQ_UINT32 sender);
372 
383  void sendSystemMessage(TQDataStream &stream, int msgid, TQ_UINT32 receiver, TQ_UINT32 sender);
384 
393  void initIO(KPlayer *p);
394 
404  virtual void notifyTurn(bool turn);
405 
406  protected:
410  void sendAllMessages(TQDataStream &stream,int msgid, TQ_UINT32 receiver, TQ_UINT32 sender, bool usermsg);
411 
412  protected slots:
416  void receivedMessage(const TQByteArray& receiveBuffer);
417 
418 
419 signals:
443  void signalProcessQuery(TQDataStream &stream,KGameProcessIO *me);
444 
455  void signalIOAdded(KGameIO *game,TQDataStream &stream,KPlayer *p,bool *send);
456 
457 
458 protected:
459 
460 private:
461  class KGameProcessIOPrivate;
462  KGameProcessIOPrivate* d;
463 };
464 
481 class TDE_EXPORT KGameComputerIO : public KGameIO
482 {
483  TQ_OBJECT
484 
485 
486 public:
491  KGameComputerIO();
492  KGameComputerIO(KPlayer* player);
493  ~KGameComputerIO();
494 
495  int rtti() const;
496 
501  void setReactionPeriod(int advanceCalls);
502  int reactionPeriod() const;
503 
507  void setAdvancePeriod(int ms);
508 
509  void stopAdvancePeriod();
510 
523  void pause(int calls = -1);
524 
529  void unpause();
530 
531 public slots:
547  virtual void advance();
548 
549 signals:
554  void signalReaction();
555 
556 protected:
560  virtual void reaction();
561 
562 private:
563  void init();
564 
565 private:
566  class KGameComputerIOPrivate;
567  KGameComputerIOPrivate* d;
568 };
569 
570 
571 #endif
KGameComputerIO
KGameIO variant for real-time games.
Definition: kgameio.h:482
KGameComputerIO::signalReaction
void signalReaction()
This signal is emitted when your computer player is meant to do something, or better is meant to be a...
KGameIO
Base class for IO devices for games.
Definition: kgameio.h:56
KGameIO::player
KPlayer * player() const
This function returns the player who owns this IO.
Definition: kgameio.h:90
KGameIO::setPlayer
void setPlayer(KPlayer *p)
Sets the player to which this IO belongs to.
Definition: kgameio.h:105
KGameIO::signalPrepareTurn
void signalPrepareTurn(TQDataStream &stream, bool turn, KGameIO *io, bool *send)
Signal generated when KPlayer::myTurn changes.
KGameIO::rtti
virtual int rtti() const =0
Run time idendification.
KGameIO::IOMode
IOMode
Identifies the KGameIO via the rtti function.
Definition: kgameio.h:76
KGameKeyIO
The KGameKeyIO class.
Definition: kgameio.h:179
KGameKeyIO::signalKeyEvent
void signalKeyEvent(KGameIO *io, TQDataStream &stream, TQKeyEvent *m, bool *eatevent)
Signal handler for keyboard events.
KGameMouseIO
The KGameMouseIO class.
Definition: kgameio.h:251
KGameMouseIO::signalMouseEvent
void signalMouseEvent(KGameIO *io, TQDataStream &stream, TQMouseEvent *m, bool *eatevent)
Signal handler for mouse events.
KGameProcessIO
The KGameProcessIO class.
Definition: kgameio.h:327
KGameProcessIO::signalIOAdded
void signalIOAdded(KGameIO *game, TQDataStream &stream, KPlayer *p, bool *send)
Signal generated when the computer player is added.
KGameProcessIO::signalProcessQuery
void signalProcessQuery(TQDataStream &stream, KGameProcessIO *me)
A computer query message is received.
KGame
The main KDE game object.
Definition: kgame.h:63
KPlayer
Base class for a game player.
Definition: kplayer.h:70

libtdegames

Skip menu "libtdegames"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

libtdegames

Skip menu "libtdegames"
  • libtdegames
Generated for libtdegames by doxygen 1.9.1
This website is maintained by Timothy Pearson.