Show treeclient.h syntax highlighted
/***************************************************************************
tree.h - description
-------------------
begin : Fri Nov 15 2002
copyright : (C) 2002 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 TREECLIENT_H_INCLUDED
#define TREECLIENT_H_INCLUDED
#include <entityclient.h>
#include <mappos.h>
#include <tree.h>
class CL_Sprite;
class WorldPos;
/**
* A tree, client edition. Represents some tree in the world
*/
class TreeClient: public EntityClient {
public:
/**
* Constructor.
*/
TreeClient(WorldClient* w, const Identity& ident, CL_NetPacket &p,
int reason);
/**
* Destructor.
*/
virtual ~TreeClient();
virtual WorldPos getPos() const;
virtual bool drawUpdate(const WorldClient* w, unsigned int d);
virtual void draw(const WorldClient* w) const;
virtual void displayRotationChange(WorldClient* w, const Rotation& r);
/**
* Load the sprites.
*/
static void loadSprites(Rules* r);
/**
* Free the sprites.
*/
static void freeSprites();
protected:
virtual void onFullUpdate(WorldClient* w, CL_NetPacket& p);
virtual void onMessage(WorldClient* w, int m, CL_NetPacket& p);
private:
/**
* Receives strength change message.
*/
void onStrength(CL_NetPacket& p);
/**
* Handle state message.
*/
void onState(WorldClient* w, CL_NetPacket& p);
/**
* Set the sprite according to the current state.
*/
void setSpriteState(const WorldClient* w);
/**
* Where this tree is.
*/
MapPos pos;
/**
* How strong this tree is.
*/
float strength;
/**
* What state we're in.
*/
int state;
/**
* The sprite.
*/
CL_Sprite* sprite;
/**
* Dead tree sprite.
*/
static CL_Sprite* deadSprite[4];
/**
* Living tree sprite.
*/
static CL_Sprite* normalSprite[4];
/**
* Burning tree sprite.
*/
static CL_Sprite* burningSprite[4];
};
#endif /* ndef TREECLIENT_H_INCLUDED */
See more files for this project here