YAPOG  0.0.1
Yet Another Pokemon Online Game
SelectionTileLayoutHandlerReader.cpp
Go to the documentation of this file.
8 
9 namespace yap
10 {
12  SelectionTileLayoutHandler& selectionTileLayoutHandler,
13  const String& xmlRootNodeName)
14  : TileLayoutHandlerReader (selectionTileLayoutHandler, xmlRootNodeName)
15  , selectionTileLayoutHandler_ (selectionTileLayoutHandler)
16  {
17  }
18 
20  {
21  }
22 
24  {
25  auto reader = visitable.ChangeRoot (xmlRootNodeName_);
26 
27  uint width = reader->ReadUInt ("width");
28  uint height = reader->ReadUInt ("height");
29 
30  selectionTileLayoutHandler_.SetSize (width, height);
31 
32  auto defaultTileReader = reader->ChangeRoot ("defaultTile");
33 
34  Tile* defaultTile = ObjectFactory::Instance ().Create<Tile> (
36  defaultTileReader->ReadID (XmlHelper::GetAttrNodeName ("id")));
37 
39 
40  XmlReaderCollection tileReaders;
41  reader->ReadNodes ("Tile", tileReaders);
42 
43  for (auto& tileReader : tileReaders)
44  {
47  tileReader->ReadID (XmlHelper::GetAttrNodeName ("id")));
48 
49  Vector2 tilePosition = tileReader->ReadVector2 ("position");
50 
52  tilePosition.x,
53  tilePosition.y,
54  tile);
55  }
56  }
57 } // namespace yap