Show townclient.h syntax highlighted
/***************************************************************************
townclient.h
-------------------
begin : Wed Jul 14 2004
copyright : (C) 2004 by Brendon Higgins
email : freepop-devel@lists.sourceforge.net
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef TOWNCLIENT_H_INCLUDED
#define TOWNCLIENT_H_INCLUDED
#include <entityclient.h>
#include <mappos.h>
#include <rotation.h>
class OverSprite;
class WorldPos;
class PlayerClient;
/**
* A town, client edition.
*/
class TownClient: public EntityClient {
public:
/**
* Constructor.
*/
TownClient(WorldClient* w, const Identity& ident, CL_NetPacket &p,
int reason);
/**
* Destructor.
*/
virtual ~TownClient();
virtual WorldPos getPos() const;
virtual void onFullUpdate(WorldClient* w, CL_NetPacket& p);
virtual void onMessage(WorldClient* w, int m, CL_NetPacket& p);
virtual void draw(const WorldClient* w) const;
virtual void playerColourChange(WorldClient* w);
virtual void displayRotationChange(WorldClient* w, const Rotation& r);
private:
/**
* Handle state message.
*/
void onState(WorldClient* w, CL_NetPacket& p);
/**
* Receives strength change message.
*/
void onStrength(CL_NetPacket& p);
/**
* Reset the sprite for the right state.
*/
void setSpriteState(const WorldClient* w);
/**
* Where this tree is.
*/
MapPos pos;
/**
* The player that owns this town.
*/
int ownerSlot;
/**
* How strong this tree is.
*/
float strength;
/**
* What state we're in.
*/
int state;
/**
* Do we have the leader?
*/
bool hasLeader;
/**
* This town's sprite.
*/
OverSprite* sprite;
};
#endif /* ndef TOWNCLIENT_H_INCLUDED */
See more files for this project here