-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServerPacketHandler.cpp
More file actions
70 lines (59 loc) · 1.88 KB
/
ServerPacketHandler.cpp
File metadata and controls
70 lines (59 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "pch.h"
#include "ServerPacketHandler.h"
#include "Manager.h"
#include "ObjectManager.h"
#include "RoomManager.h"
PacketHandlerFunc GPacketHandler[UINT16_MAX];
bool Handle_INVALID(Session* session, BYTE* buffer, int len)
{
PacketHeader* header = reinterpret_cast<PacketHeader*>(buffer);
return false;
}
bool Handle_REQ_ENTER(Session* session, Protocol::REQ_ENTER& pkt)
{
cout << "req enter" << endl;
GManager->Object()->PushJob(&ObjectManager::HandleEnterGame, session, pkt);
return false;
}
bool Handle_REQ_ENTER_GAMEROOM(Session* session, Protocol::REQ_ENTER_GAMEROOM& pkt)
{
cout << "req enter game room" << endl;
GManager->Room()->PushJob(&RoomManager::HandleJoinGameRoom, session, pkt);
return false;
}
bool Handle_REQ_LEAVE_GAMEROOM(Session* session, Protocol::REQ_LEAVE_GAMEROOM& pkt)
{
cout << "req leave game room" << endl;
return false;
}
bool Handle_REQ_ENTER_ROOM(Session* session, Protocol::REQ_ENTER_ROOM& pkt)
{
cout << "req enter room" << endl;
GManager->Room()->PushJob(&RoomManager::HandleEnterRoom, session, pkt);
return false;
}
bool Handle_REQ_LEAVE(Session* session, Protocol::REQ_LEAVE& pkt)
{
return false;
}
bool Handle_REQ_RESPAWN(Session* session, Protocol::REQ_RESPAWN& pkt)
{
auto gameSession = static_cast<GameSession*>(session);
if (auto room = gameSession->GetPlayer()->GetRoom())
room->PushJob(&Room::HandleRespawnPlayer, session, pkt);
return false;
}
bool Handle_REQ_MOVE(Session* session, Protocol::REQ_MOVE& pkt)
{
auto gameSession = static_cast<GameSession*>(session);
if (auto room = gameSession->GetPlayer()->GetRoom())
room->PushJob(&Room::HandleMove, session, pkt);
return false;
}
bool Handle_REQ_ATTACK_OBJECT(Session* session, Protocol::REQ_ATTACK_OBJECT& pkt)
{
auto gameSession = static_cast<GameSession*>(session);
if (auto room = gameSession->GetPlayer()->GetRoom())
room->PushJob(&Room::HandleAttack, session, pkt);
return false;
}