2010-07-29 05:21:18 +00:00
|
|
|
/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
|
|
|
|
|
2010-08-21 17:32:42 +00:00
|
|
|
#ifndef GAME_SERVER_ENTITY_DRAGGER_H
|
|
|
|
#define GAME_SERVER_ENTITY_DRAGGER_H
|
2010-07-29 05:21:18 +00:00
|
|
|
|
|
|
|
#include <game/server/entity.h>
|
|
|
|
class CCharacter;
|
|
|
|
|
2010-08-21 17:32:42 +00:00
|
|
|
class CDragger : public CEntity
|
2010-07-29 05:21:18 +00:00
|
|
|
{
|
2010-08-30 23:45:42 +00:00
|
|
|
vec2 m_Core;
|
|
|
|
float m_Strength;
|
|
|
|
int m_EvalTick;
|
|
|
|
void Move();
|
|
|
|
void Drag();
|
2010-09-22 10:43:59 +00:00
|
|
|
CCharacter * m_Target;
|
2010-08-30 23:45:42 +00:00
|
|
|
bool m_NW;
|
2010-09-22 10:43:59 +00:00
|
|
|
int m_CatchedTeam;
|
2010-07-29 05:21:18 +00:00
|
|
|
public:
|
|
|
|
|
|
|
|
|
2010-11-13 13:22:19 +00:00
|
|
|
CDragger(CGameWorld *pGameWorld, vec2 Pos, float Strength, bool NW, int CatchedTeam, int Layer = 0, int Number = 0);
|
2010-07-29 05:21:18 +00:00
|
|
|
|
|
|
|
virtual void Reset();
|
|
|
|
virtual void Tick();
|
|
|
|
virtual void Snap(int snapping_client);
|
|
|
|
};
|
|
|
|
|
2010-09-22 10:43:59 +00:00
|
|
|
class CDraggerTeam {
|
|
|
|
CDragger * m_Draggers[MAX_CLIENTS];
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
2010-11-13 13:22:19 +00:00
|
|
|
CDraggerTeam(CGameWorld *pGameWorld, vec2 Pos, float Strength, bool NW=false, int Layer = 0, int Number = 0);
|
2010-09-22 10:49:19 +00:00
|
|
|
//~CDraggerTeam();
|
2010-09-22 10:43:59 +00:00
|
|
|
};
|
|
|
|
|
2010-07-29 05:21:18 +00:00
|
|
|
#endif
|