2010-08-11 10:33:37 +00:00
|
|
|
#ifndef GAME_SERVER_ENTITY_DOOR_H
|
|
|
|
#define GAME_SERVER_ENTITY_DOOR_H
|
|
|
|
|
|
|
|
#include <game/server/entity.h>
|
|
|
|
|
|
|
|
class CTrigger;
|
|
|
|
|
|
|
|
class CDoor : public CEntity
|
|
|
|
{
|
|
|
|
vec2 m_To;
|
2010-09-01 09:50:42 +00:00
|
|
|
int m_EvalTick[MAX_CLIENTS];
|
2010-09-01 08:52:59 +00:00
|
|
|
bool m_Opened[MAX_CLIENTS];
|
|
|
|
bool HitCharacter(int Team);
|
2010-09-10 06:55:04 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
DOORED_R = 1,
|
|
|
|
DOORED_L = 2,
|
|
|
|
DOORED_T = 4,
|
|
|
|
DOORED_B = 8
|
|
|
|
};
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
DOOR_VER = 1,/*LIKE '|' */
|
|
|
|
DOOR_HOR = 2,/*LIKE '--' */
|
|
|
|
DOOR_DIAGBACK = 4,/*LIKE '\' */
|
|
|
|
DOOR_DIAGFORW = 8 /*LIKE '/' *///xD
|
|
|
|
};
|
|
|
|
bool DoDoored(CCharacter* pChar);
|
|
|
|
int m_Angle;
|
2010-08-11 10:33:37 +00:00
|
|
|
public:
|
|
|
|
|
2010-09-01 08:52:59 +00:00
|
|
|
void Open(int Tick, bool ActivatedTeam[]);
|
2010-09-01 10:22:15 +00:00
|
|
|
void Close(int Team);
|
2010-08-11 18:29:08 +00:00
|
|
|
CDoor(CGameWorld *pGameWorld, vec2 Pos, float Rotation, int Length, bool Opened);
|
2010-08-11 10:33:37 +00:00
|
|
|
|
|
|
|
virtual void Reset();
|
|
|
|
virtual void Tick();
|
|
|
|
virtual void Snap(int SnappingClient);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|