YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
ServerInfoAddObjectVisitor.cpp
Go to the documentation of this file.
1
#include "
YAPOG/System/Network/IPacket.hpp
"
2
#include "
YAPOG/Graphics/RectWriter.hpp
"
3
#include "
YAPOG/Game/World/Map/DestructibleObject.hpp
"
4
#include "
YAPOG/Game/World/Map/BattleSpawnerArea.hpp
"
5
6
#include "
World/Map/ServerInfoAddObjectVisitor.hpp
"
7
#include "World/Map/Player.hpp"
8
#include "World/Map/NPC.hpp"
9
#include "World/Map/Teleporter.hpp"
10
11
namespace
yse
12
{
13
ServerInfoAddObjectVisitor::ServerInfoAddObjectVisitor
(
yap::IPacket
& packet)
14
: BaseDynamicWorldObjectConstVisitor ()
15
, packet_ (packet)
16
{
17
}
18
19
ServerInfoAddObjectVisitor::~ServerInfoAddObjectVisitor
()
20
{
21
}
22
23
void
ServerInfoAddObjectVisitor::VisitCharacter
(
24
const
yap::Character
& visitable)
25
{
26
yap::BaseDynamicWorldObjectConstVisitor::VisitCharacter
(visitable);
27
28
WriteAddObject
(visitable);
29
30
packet_
.
Write
(static_cast<yap::uchar> (visitable.
GetDirection
()));
31
}
32
33
void
ServerInfoAddObjectVisitor::VisitPlayer
(
const
yap::IPlayer
& visitable)
34
{
35
yap::BaseDynamicWorldObjectConstVisitor::VisitPlayer
(visitable);
36
37
packet_
.
Write
(visitable.
GetName
());
38
}
39
40
void
ServerInfoAddObjectVisitor::VisitTeleporter
(
41
const
yap::Teleporter
& visitable)
42
{
43
yap::BaseDynamicWorldObjectConstVisitor::VisitTeleporter
(visitable);
44
45
WriteAddObject
(visitable);
46
47
packet_
.
Write
(visitable.
GetMapWorldID
());
48
packet_
.
Write
(visitable.
GetMapPoint
());
49
50
yap::RectWriter<float>
rectangleWriter (visitable.
GetArea
());
51
packet_
.
Accept
(rectangleWriter);
52
}
53
54
void
ServerInfoAddObjectVisitor::VisitDestructibleObject
(
55
const
yap::DestructibleObject
& visitable)
56
{
57
yap::BaseDynamicWorldObjectConstVisitor::VisitDestructibleObject
(
58
visitable);
59
60
WriteAddObject
(visitable);
61
}
62
63
void
ServerInfoAddObjectVisitor::VisitBattleSpawnerArea
(
64
const
yap::BattleSpawnerArea
& visitable)
65
{
66
yap::BaseDynamicWorldObjectConstVisitor::VisitBattleSpawnerArea
(
67
visitable);
68
69
WriteAddObject
(visitable);
70
71
packet_
.
Write
(visitable.
GetWidth
());
72
packet_
.
Write
(visitable.
GetHeight
());
73
}
74
75
void
ServerInfoAddObjectVisitor::WriteAddObject
(
76
const
yap::DynamicWorldObject
&
object
)
77
{
78
packet_
.
Write
(
object
.GetWorldID ());
79
packet_
.
Write
(
object
.GetTypeID ());
80
packet_
.
Write
(
object
.GetID ());
81
82
packet_
.
Write
(
object
.GetPosition ());
83
packet_
.
Write
(
object
.GetState ());
84
}
85
}
// namespace yse
YAPOG.Server
src
World
Map
ServerInfoAddObjectVisitor.cpp
Generated on Mon Sep 17 2012 22:24:22 for YAPOG by
1.8.1.1