DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
entity.h
Go to the documentation of this file.
1
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2
/* If you are missing that file, acquire a complete release at teeworlds.com. */
3
#ifndef GAME_CLIENT_PREDICTION_ENTITY_H
4
#define GAME_CLIENT_PREDICTION_ENTITY_H
5
6
#include "
gameworld.h
"
7
8
#include <
base/vmath.h
>
9
10
#include <
game/alloc.h
>
11
12
class
CEntity
13
{
14
MACRO_ALLOC_HEAP
()
15
16
private
:
17
friend
CGameWorld
;
// entity list handling
18
CEntity
*
m_pPrevTypeEntity
;
19
CEntity
*
m_pNextTypeEntity
;
20
21
protected
:
22
CGameWorld
*
m_pGameWorld
;
23
bool
m_MarkedForDestroy
;
24
int
m_Id
;
25
int
m_ObjType
;
26
27
public
:
28
int
GetId
()
const
{
return
m_Id
; }
29
30
CEntity
(
CGameWorld
*pGameWorld,
int
Objtype,
vec2
Pos =
vec2
(0, 0),
int
ProximityRadius = 0);
31
virtual
~CEntity
();
32
33
std::vector<SSwitchers> &
Switchers
() {
return
m_pGameWorld
->
Switchers
(); }
34
CGameWorld
*
GameWorld
() {
return
m_pGameWorld
; }
35
CTuningParams
*
GlobalTuning
() {
return
&
GameWorld
()->TuningList()[0]; }
36
CTuningParams
*
TuningList
() {
return
GameWorld
()->TuningList(); }
37
CTuningParams
*
GetTuning
(
int
i) {
return
GameWorld
()->GetTuning(i); }
38
class
CCollision
*
Collision
() {
return
GameWorld
()->Collision(); }
39
CEntity
*
TypeNext
() {
return
m_pNextTypeEntity
; }
40
CEntity
*
TypePrev
() {
return
m_pPrevTypeEntity
; }
41
const
vec2
&
GetPos
()
const
{
return
m_Pos
; }
42
float
GetProximityRadius
()
const
{
return
m_ProximityRadius
; }
43
virtual
bool
CanCollide
(
int
ClientId) {
return
true
; }
44
45
virtual
void
Destroy
() {
delete
this
; }
46
virtual
void
PreTick
() {}
47
virtual
void
Tick
() {}
48
virtual
void
TickDeferred
() {}
49
50
bool
GameLayerClipped
(
vec2
CheckPos);
51
float
m_ProximityRadius
;
52
vec2
m_Pos
;
53
int
m_Number
;
54
int
m_Layer
;
55
56
int
m_SnapTicks
;
57
int
m_DestroyTick
;
58
int
m_LastRenderTick
;
59
CEntity
*
m_pParent
;
60
CEntity
*
m_pChild
;
61
CEntity
*
NextEntity
() {
return
m_pNextTypeEntity
; }
62
void
Keep
()
63
{
64
m_SnapTicks
= 0;
65
m_MarkedForDestroy
=
false
;
66
}
67
68
CEntity
()
69
{
70
m_Id
= -1;
71
m_pGameWorld
=
nullptr
;
72
}
73
};
74
75
#endif
alloc.h
MACRO_ALLOC_HEAP
#define MACRO_ALLOC_HEAP()
Definition
alloc.h:24
CCollision
Definition
collision.h:35
CEntity
Definition
entity.h:13
CEntity::m_ProximityRadius
float m_ProximityRadius
Definition
entity.h:51
CEntity::Collision
class CCollision * Collision()
Definition
entity.h:38
CEntity::GameWorld
CGameWorld * GameWorld()
Definition
entity.h:34
CEntity::GetId
int GetId() const
Definition
entity.h:28
CEntity::m_pChild
CEntity * m_pChild
Definition
entity.h:60
CEntity::m_MarkedForDestroy
bool m_MarkedForDestroy
Definition
entity.h:23
CEntity::Switchers
std::vector< SSwitchers > & Switchers()
Definition
entity.h:33
CEntity::PreTick
virtual void PreTick()
Definition
entity.h:46
CEntity::CGameWorld
friend CGameWorld
Definition
entity.h:17
CEntity::GetPos
const vec2 & GetPos() const
Definition
entity.h:41
CEntity::m_pNextTypeEntity
CEntity * m_pNextTypeEntity
Definition
entity.h:19
CEntity::m_pGameWorld
CGameWorld * m_pGameWorld
Definition
entity.h:22
CEntity::NextEntity
CEntity * NextEntity()
Definition
entity.h:61
CEntity::m_Pos
vec2 m_Pos
Definition
entity.h:52
CEntity::GetTuning
CTuningParams * GetTuning(int i)
Definition
entity.h:37
CEntity::m_pParent
CEntity * m_pParent
Definition
entity.h:59
CEntity::TickDeferred
virtual void TickDeferred()
Definition
entity.h:48
CEntity::GetProximityRadius
float GetProximityRadius() const
Definition
entity.h:42
CEntity::m_Layer
int m_Layer
Definition
entity.h:54
CEntity::m_SnapTicks
int m_SnapTicks
Definition
entity.h:56
CEntity::TuningList
CTuningParams * TuningList()
Definition
entity.h:36
CEntity::CEntity
CEntity()
Definition
entity.h:68
CEntity::m_pPrevTypeEntity
CEntity * m_pPrevTypeEntity
Definition
entity.h:18
CEntity::Keep
void Keep()
Definition
entity.h:62
CEntity::m_DestroyTick
int m_DestroyTick
Definition
entity.h:57
CEntity::TypeNext
CEntity * TypeNext()
Definition
entity.h:39
CEntity::Tick
virtual void Tick()
Definition
entity.h:47
CEntity::CEntity
CEntity(CGameWorld *pGameWorld, int Objtype, vec2 Pos=vec2(0, 0), int ProximityRadius=0)
Definition
entity.cpp:11
CEntity::TypePrev
CEntity * TypePrev()
Definition
entity.h:40
CEntity::CanCollide
virtual bool CanCollide(int ClientId)
Definition
entity.h:43
CEntity::Destroy
virtual void Destroy()
Definition
entity.h:45
CEntity::m_LastRenderTick
int m_LastRenderTick
Definition
entity.h:58
CEntity::GlobalTuning
CTuningParams * GlobalTuning()
Definition
entity.h:35
CEntity::m_Number
int m_Number
Definition
entity.h:53
CEntity::m_ObjType
int m_ObjType
Definition
entity.h:25
CEntity::GameLayerClipped
bool GameLayerClipped(vec2 CheckPos)
Definition
entity.cpp:39
CEntity::m_Id
int m_Id
Definition
entity.h:24
CGameWorld
Definition
gameworld.h:18
CGameWorld::Switchers
std::vector< SSwitchers > & Switchers()
Definition
gameworld.h:64
CTuningParams
Definition
gamecore.h:42
GameWorld::GameWorld
GameWorld()
Definition
gameworld_test.cpp:58
gameworld.h
vmath.h
vec2
vector2_base< float > vec2
Definition
vmath.h:168
src
game
client
prediction
entity.h
Generated by
1.18.0