mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-11 02:28:18 +00:00
60 lines
1.1 KiB
C++
60 lines
1.1 KiB
C++
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
|
|
/* If you are missing that file, acquire a complete release at teeworlds.com. */
|
|
#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,
|
|
bool Freeeze,
|
|
bool Explosive,
|
|
float Force,
|
|
int SoundImpact,
|
|
int Weapon,
|
|
int Layer = 0,
|
|
int Number = 0
|
|
);
|
|
|
|
vec2 GetPos(float Time);
|
|
void FillInfo(CNetObj_Projectile *pProj);
|
|
|
|
virtual void Reset();
|
|
virtual void Tick();
|
|
virtual void TickPaused();
|
|
virtual void Snap(int SnappingClient);
|
|
|
|
private:
|
|
vec2 m_Direction;
|
|
int m_InitialLifeSpan;
|
|
int m_LifeSpan;
|
|
int m_Owner;
|
|
int m_Type;
|
|
//int m_Damage;
|
|
int m_SoundImpact;
|
|
int m_Weapon;
|
|
float m_Force;
|
|
int m_StartTick;
|
|
bool m_Explosive;
|
|
|
|
// DDRace
|
|
|
|
int m_Bouncing;
|
|
bool m_Freeze;
|
|
int m_TuneZone;
|
|
|
|
public:
|
|
|
|
void SetBouncing(int Value);
|
|
void FillExtraInfo(CNetObj_Projectile *pProj);
|
|
};
|
|
|
|
#endif
|