YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
World.cpp
Go to the documentation of this file.
1
#include "
YAPOG/Game/Factory/ObjectFactory.hpp
"
2
3
#include "World/World.hpp"
4
#include "World/Map/Map.hpp"
5
6
namespace
yse
7
{
8
World::World
()
9
: yap::
World
()
10
, maps_ ()
11
, packetHandler_ ()
12
{
13
}
14
15
World::~World
()
16
{
17
}
18
20
void
World::LoadMap
(
const
yap::ID
&
id
)
21
{
22
Map
* map =
yap::ObjectFactory::Instance
().
Get
<
Map
> (
23
"Map"
,
24
yap::ID
(
id
));
25
26
map->
SetWorldID
(
yap::ID
(
id
));
27
28
AddMap
(map);
29
}
30
void
World::LoadMaps
()
31
{
34
36
for
(
yap::ID::ValueType
it = 1; it <= 4; ++it)
37
{
38
Map
* map =
yap::ObjectFactory::Instance
().
Get
<
Map
> (
39
"Map"
,
40
yap::ID
(it));
41
42
map->
SetWorldID
(
yap::ID
(it));
43
44
AddMap
(map);
45
}
46
47
LoadMap
(
yap::ID
(16));
48
}
49
50
bool
World::HandlePacket
(
yap::IPacket
& packet)
51
{
52
return
packetHandler_
.
HandlePacket
(packet);
53
}
54
55
bool
World::SendPacket
(
yap::IPacket
& packet)
56
{
57
bool
success =
true
;
58
59
for
(
auto
& it :
maps_
)
60
if
(!it.second->SendPacket (packet))
61
success =
false
;
62
63
return
success;
64
}
65
66
void
World::AddRelay
(
yap::IPacketHandler
* relay)
67
{
68
packetHandler_
.
AddRelay
(relay);
69
}
70
71
void
World::RemoveRelay
(
yap::IPacketHandler
* relay)
72
{
73
packetHandler_
.
RemoveRelay
(relay);
74
}
75
76
void
World::SetParent
(
yap::IPacketHandler
* parent)
77
{
78
packetHandler_
.
SetParent
(parent);
79
}
80
81
void
World::AddMap
(
Map
* map)
82
{
83
map->
AddRelay
(
this
);
84
85
maps_
.
Add
(map->
GetWorldID
(), map);
86
}
87
88
void
World::RemoveMap
(
const
yap::ID
& worldID)
89
{
90
GetMap
(worldID).
RemoveRelay
(
this
);
91
92
maps_
.
Remove
(worldID);
93
}
94
95
Map
&
World::GetMap
(
const
yap::ID
& worldID)
96
{
97
return
*
maps_
[worldID];
98
}
99
100
void
World::HandleUpdate
(
const
yap::Time
& dt)
101
{
102
yap::World::HandleUpdate
(dt);
103
104
for
(
auto
& it :
maps_
)
105
it.second->Update (dt);
106
}
107
}
// namespace yse
YAPOG.Server
src
World
World.cpp
Generated on Mon Sep 17 2012 22:24:25 for YAPOG by
1.8.1.1