DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
eventhandler.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_SERVER_EVENTHANDLER_H
4
#define GAME_SERVER_EVENTHANDLER_H
5
6
#include <
engine/shared/protocol.h
>
7
8
#include <cstdint>
9
10
class
CEventHandler
11
{
12
enum
13
{
14
MAX_EVENTS
= 128,
15
MAX_DATASIZE
= 128 * 64,
16
};
17
18
int
m_aTypes
[
MAX_EVENTS
];
// TODO: remove some of these arrays
19
int
m_aOffsets
[
MAX_EVENTS
];
20
int
m_aSizes
[
MAX_EVENTS
];
21
CClientMask
m_aClientMasks
[
MAX_EVENTS
];
22
char
m_aData
[
MAX_DATASIZE
];
23
24
class
CGameContext
*
m_pGameServer
;
25
26
int
m_CurrentOffset
;
27
int
m_NumEvents
;
28
29
public
:
30
CGameContext
*
GameServer
()
const
{
return
m_pGameServer
; }
31
void
SetGameServer
(
CGameContext
*pGameServer);
32
33
CEventHandler
();
34
void
*
Create
(
int
Type,
int
Size,
CClientMask
Mask =
CClientMask
().set());
35
36
template
<
typename
T>
37
T *
Create
(
CClientMask
Mask =
CClientMask
().set())
38
{
39
return
static_cast<
T *
>
(
Create
(T::ms_MsgId,
sizeof
(T), Mask));
40
}
41
42
void
Clear
();
43
void
Snap
(
int
SnappingClient);
44
45
void
EventToSixup
(
int
*pType,
int
*pSize,
const
char
**ppData);
46
};
47
48
#endif
CEventHandler::m_aSizes
int m_aSizes[MAX_EVENTS]
Definition
eventhandler.h:20
CEventHandler::SetGameServer
void SetGameServer(CGameContext *pGameServer)
Definition
eventhandler.cpp:20
CEventHandler::MAX_DATASIZE
@ MAX_DATASIZE
Definition
eventhandler.h:15
CEventHandler::MAX_EVENTS
@ MAX_EVENTS
Definition
eventhandler.h:14
CEventHandler::Create
T * Create(CClientMask Mask=CClientMask().set())
Definition
eventhandler.h:37
CEventHandler::CEventHandler
CEventHandler()
Definition
eventhandler.cpp:14
CEventHandler::m_NumEvents
int m_NumEvents
Definition
eventhandler.h:27
CEventHandler::m_aOffsets
int m_aOffsets[MAX_EVENTS]
Definition
eventhandler.h:19
CEventHandler::m_aTypes
int m_aTypes[MAX_EVENTS]
Definition
eventhandler.h:18
CEventHandler::m_aData
char m_aData[MAX_DATASIZE]
Definition
eventhandler.h:22
CEventHandler::EventToSixup
void EventToSixup(int *pType, int *pSize, const char **ppData)
Definition
eventhandler.cpp:89
CEventHandler::Clear
void Clear()
Definition
eventhandler.cpp:42
CEventHandler::m_CurrentOffset
int m_CurrentOffset
Definition
eventhandler.h:26
CEventHandler::GameServer
CGameContext * GameServer() const
Definition
eventhandler.h:30
CEventHandler::Snap
void Snap(int SnappingClient)
Definition
eventhandler.cpp:48
CEventHandler::m_aClientMasks
CClientMask m_aClientMasks[MAX_EVENTS]
Definition
eventhandler.h:21
CEventHandler::m_pGameServer
class CGameContext * m_pGameServer
Definition
eventhandler.h:24
CEventHandler::Create
void * Create(int Type, int Size, CClientMask Mask=CClientMask().set())
Definition
eventhandler.cpp:25
CGameContext
Definition
gamecontext.h:114
protocol.h
CClientMask
std::bitset< MAX_CLIENTS > CClientMask
Definition
protocol.h:193
src
game
server
eventhandler.h
Generated by
1.18.0