YAPOG  0.0.1
Yet Another Pokemon Online Game
ServerInfoAddObjectVisitor.cpp
Go to the documentation of this file.
5 
7 #include "World/Map/Player.hpp"
8 #include "World/Map/NPC.hpp"
9 #include "World/Map/Teleporter.hpp"
10 
11 namespace yse
12 {
14  : BaseDynamicWorldObjectConstVisitor ()
15  , packet_ (packet)
16  {
17  }
18 
20  {
21  }
22 
24  const yap::Character& visitable)
25  {
27 
28  WriteAddObject (visitable);
29 
30  packet_.Write (static_cast<yap::uchar> (visitable.GetDirection ()));
31  }
32 
34  {
36 
37  packet_.Write (visitable.GetName ());
38  }
39 
41  const yap::Teleporter& visitable)
42  {
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 
55  const yap::DestructibleObject& visitable)
56  {
58  visitable);
59 
60  WriteAddObject (visitable);
61  }
62 
64  const yap::BattleSpawnerArea& visitable)
65  {
67  visitable);
68 
69  WriteAddObject (visitable);
70 
71  packet_.Write (visitable.GetWidth ());
72  packet_.Write (visitable.GetHeight ());
73  }
74 
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