2010-05-29 07:25:38 +00:00
|
|
|
#ifndef GAME_SERVER_ENTITIES_PROJECTILE_H
|
|
|
|
#define GAME_SERVER_ENTITIES_PROJECTILE_H
|
|
|
|
|
|
|
|
class CProjectile : public CEntity
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CProjectile(CGameWorld *pGameWorld, int Type, int Owner, vec2 Pos, vec2 Dir, int Span,
|
2010-07-29 05:21:18 +00:00
|
|
|
bool Freeeze, bool Explosive, float Force, int SoundImpact, int Weapon);
|
2010-05-29 07:25:38 +00:00
|
|
|
|
|
|
|
vec2 GetPos(float Time);
|
|
|
|
void FillInfo(CNetObj_Projectile *pProj);
|
2010-08-14 10:46:54 +00:00
|
|
|
void SetBouncing(int Value);
|
2010-05-29 07:25:38 +00:00
|
|
|
|
|
|
|
virtual void Reset();
|
|
|
|
virtual void Tick();
|
|
|
|
virtual void Snap(int SnappingClient);
|
|
|
|
|
|
|
|
private:
|
|
|
|
vec2 m_Direction;
|
|
|
|
int m_LifeSpan;
|
|
|
|
int m_Owner;
|
|
|
|
int m_Type;
|
2010-07-29 05:21:18 +00:00
|
|
|
//int m_Damage;
|
2010-05-29 07:25:38 +00:00
|
|
|
int m_SoundImpact;
|
|
|
|
int m_Weapon;
|
|
|
|
float m_Force;
|
|
|
|
int m_StartTick;
|
|
|
|
bool m_Explosive;
|
2010-07-29 05:21:18 +00:00
|
|
|
int m_Bouncing;
|
|
|
|
bool m_Freeze;
|
|
|
|
bool m_Collised;
|
2010-08-23 21:40:23 +00:00
|
|
|
vec2 m_AvgPos;
|
|
|
|
vec2 m_BouncePos;
|
|
|
|
vec2 m_ReBouncePos;
|
|
|
|
vec2 m_LastBounce;
|
|
|
|
vec2 m_PrevLastBounce;
|
2010-05-29 07:25:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|