• 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>
29class KPlayer;
30class KGame;
31class TDEProcess;
32
55class TDE_EXPORT KGameIO : public TQObject
56{
57 TQ_OBJECT
58
59
60public:
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
134signals:
166 void signalPrepareTurn(TQDataStream & stream, bool turn, KGameIO *io, bool * send);
167
168
169private:
170 KPlayer *mPlayer;
171};
172
178class TDE_EXPORT KGameKeyIO : public KGameIO
179{
180 TQ_OBJECT
181
182
183public:
204 KGameKeyIO(TQWidget *parent);
205 virtual ~KGameKeyIO();
206
212 virtual int rtti() const;
213
214signals:
236 void signalKeyEvent(KGameIO *io,TQDataStream &stream,TQKeyEvent *m,bool *eatevent);
237
238protected:
242 bool eventFilter( TQObject *o, TQEvent *e );
243};
244
250class TDE_EXPORT KGameMouseIO : public KGameIO
251{
252 TQ_OBJECT
253
254
255public:
271 KGameMouseIO(TQWidget *parent,bool trackmouse=false);
272 virtual ~KGameMouseIO();
273
279 void setMouseTracking(bool b);
285 virtual int rtti() const;
286
287signals:
307 void signalMouseEvent(KGameIO *io,TQDataStream &stream,TQMouseEvent *m,bool *eatevent);
308
309protected:
313 bool eventFilter( TQObject *o, TQEvent *e );
314
315};
316
317
326class TDE_EXPORT KGameProcessIO : public KGameIO
327{
328 TQ_OBJECT
329
330
331public:
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
419signals:
443 void signalProcessQuery(TQDataStream &stream,KGameProcessIO *me);
444
455 void signalIOAdded(KGameIO *game,TQDataStream &stream,KPlayer *p,bool *send);
456
457
458protected:
459
460private:
461 class KGameProcessIOPrivate;
462 KGameProcessIOPrivate* d;
463};
464
481class TDE_EXPORT KGameComputerIO : public KGameIO
482{
483 TQ_OBJECT
484
485
486public:
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
531public slots:
547 virtual void advance();
548
549signals:
554 void signalReaction();
555
556protected:
560 virtual void reaction();
561
562private:
563 void init();
564
565private:
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.4
This website is maintained by Timothy Pearson.