firecolumnclient.h from FreePop at Krugle
Show firecolumnclient.h syntax highlighted
/***************************************************************************
firecolumnclient.h
-------------------
begin : Mon Jun 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 FIRECOLUMNCLIENT_H_INCLUDED
#define FIRECOLUMNCLIENT_H_INCLUDED
#include <entityclient.h>
#include <worldpos.h>
class CL_Sprite;
class FireColumnEndSprite;
/**
* A column of fire, client edition.
*/
class FireColumnClient: public EntityClient {
public:
/**
* Constructor.
*/
FireColumnClient(WorldClient*, const Identity& ident, CL_NetPacket &p,
int reason);
/**
* Destructor.
*/
virtual ~FireColumnClient();
virtual WorldPos getPos() const;
virtual void draw(const WorldClient* w) const;
virtual bool drawUpdate(const WorldClient* w, unsigned int d);
virtual void predict(const WorldClient* w, unsigned int d);
/**
* Load the sprites into memory.
*/
static void loadSprites();
/**
* Free sprites.
*/
static void freeSprites();
protected:
virtual void onFullUpdate(WorldClient* w, CL_NetPacket& p);
virtual void onDestroy(WorldClient* w, int reason);
private:
/**
* The position.
*/
WorldPos pos;
/**
* Where is this entity heading? This will remain normalised.
*/
WorldPos direction;
/**
* The sprite.
*/
CL_Sprite* fireSprite;
/**
* Keep the fire sprite in memory
*/
static CL_Sprite* fireSpriteCache;
/**
* Keep the beginning fire sprite in memory
*/
static CL_Sprite* fireSpriteBeginCache;
/**
* Keep the ending fire sprite in memory
*/
static CL_Sprite* fireSpriteEndCache;
friend class FireColumnEndSprite;
};
#endif /* ndef FIRECOLUMNCLIENT_H_INCLUDED */
See more files for this project here