KGamePropertyBase Class Reference
#include <kgameproperty.h>
Inheritance diagram for KGamePropertyBase:

Detailed Description
Base class of KGameProperty.The KGamePropertyBase class is the base class of KGameProperty. See KGameProperty for further information.
- Author:
- Andreas Beckermann <b_mann@gmx.de>
Definition at line 42 of file kgameproperty.h.
Public Types | |
| enum | PropertyDataIds { IdGroup = 1, IdUserId = 2, IdAsyncInput = 3, IdTurn = 4, IdName = 5, IdGameStatus = 6, IdMaxPlayer = 7, IdMinPlayer = 8, IdGrabInput = 16, IdReleaseInput = 17, IdCommand, IdUser = 256, IdAutomatic = 0x7000 } |
| enum | PropertyCommandIds { CmdLock = 1, CmdAt = 51, CmdResize = 52, CmdFill = 53, CmdSort = 54, CmdInsert = 61, CmdAppend = 62, CmdRemove = 63, CmdClear = 64 } |
| enum | PropertyPolicy { PolicyUndefined = 0, PolicyClean = 1, PolicyDirty = 2, PolicyLocal = 3 } |
Public Member Functions | |
| KGamePropertyBase (int id, KGamePropertyHandler *owner) | |
| KGamePropertyBase (int id, KGame *parent) | |
| KGamePropertyBase (int id, KPlayer *parent) | |
| KGamePropertyBase () | |
| void | setPolicy (PropertyPolicy p) |
| PropertyPolicy | policy () const |
| void | setEmittingSignal (bool p) |
| bool | isEmittingSignal () const |
| void | setOptimized (bool p) |
| bool | isOptimized () const |
| bool | isDirty () const |
| bool | isLocked () const |
| bool | lock () |
| bool | unlock (bool force=false) |
| virtual void | load (QDataStream &s)=0 |
| virtual void | save (QDataStream &s)=0 |
| virtual void | command (QDataStream &stream, int msgid, bool isSender=false) |
| int | id () const |
| virtual const type_info * | typeinfo () |
| int | registerData (int id, KGamePropertyHandler *owner, PropertyPolicy p, QString name=0) |
| int | registerData (int id, KGamePropertyHandler *owner, QString name=0) |
| int | registerData (int id, KGame *owner, QString name=0) |
| int | registerData (int id, KPlayer *owner, QString name=0) |
| int | registerData (KGamePropertyHandler *owner, PropertyPolicy p=PolicyUndefined, QString name=0) |
| void | unregisterData () |
Protected Member Functions | |
| void | setLock (bool l) |
| void | setDirty (bool d) |
| bool | sendProperty () |
| bool | sendProperty (const QByteArray &b) |
| void | emitSignal () |
Protected Attributes | |
| KGamePropertyHandler * | mOwner |
| KGamePropertyBase::Flags | mFlags |
Friends | |
| class | KGamePropertyHandler |
Member Enumeration Documentation
|
|
Commands for advanced properties (Q_INT8).
Definition at line 71 of file kgameproperty.h. |
|
|
The policy of the property. This can be PolicyClean (setValue uses send), PolicyDirty (setValue uses changeValue) or PolicyLocal (setValue uses setLocal). A "clean" policy means that the property is always the same on every client. This is achieved by calling send which actually changes the value only when the message from the MessageServer is received. A "dirty" policy means that as soon as setValue is called the property is changed immediately. And additionally sent over network. This can sometimes lead to bugs as the other clients do not immediately have the same value. For more information see changeValue. PolicyLocal means that a KGameProperty behaves like ever "normal" variable. Whenever setValue is called (e.g. using "=") the value of the property is changes immediately without sending it over network. You might want to use this if you are sure that all clients set the property at the same time. Definition at line 109 of file kgameproperty.h. |
Constructor & Destructor Documentation
|
||||||||||||
|
Constructs a KGamePropertyBase object and calls registerData.
Definition at line 44 of file kgameproperty.cpp. |
|
|
Creates a KGamePropertyBase object without an owner. Remember to call registerData! Definition at line 50 of file kgameproperty.cpp. |
Member Function Documentation
|
||||||||||||||||
|
send a command to advanced properties like arrays
Definition at line 195 of file kgameproperty.cpp. |
|
|
Causes the parent object to emit a signal on value change.
Definition at line 185 of file kgameproperty.cpp. |
|
|
Definition at line 238 of file kgameproperty.h. |
|
|
Definition at line 180 of file kgameproperty.h. |
|
|
See also setEmittingSignal.
Definition at line 163 of file kgameproperty.h. |
|
|
A locked property can only be changed by the player who has set the lock. See also setLocked
Definition at line 187 of file kgameproperty.h. |
|
|
See also setOptimize.
Definition at line 175 of file kgameproperty.h. |
|
|
This will read the value of this property from the stream. You MUST overwrite this method in order to use this class
Implemented in KGameProperty< type >, KGameProperty< QString >, KGameProperty< int >, KGameProperty< Q_INT8 >, and KGameProperty< unsigned int >. |
|
|
A locked property can only be changed by the player who has set the lock. You can only call this if isLocked is false. A message is sent over network so that the property is locked for all players except you.
Definition at line 152 of file kgameproperty.cpp. |
|
|
Definition at line 150 of file kgameproperty.h. |
|
||||||||||||||||
|
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. In particular you can use this function to create properties which will have an automatic id assigned. Thtr> | |||
| KGamePropertyHandler * | owner | ||
| ) | |||
