YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SpriteSetReader.hxx
Go to the documentation of this file.
1
#ifndef YAPOG_SPRITESETREADER_HXX
2
# define YAPOG_SPRITESETREADER_HXX
3
4
#include "
YAPOG/Graphics/Game/Sprite/SpriteSet.hpp
"
5
#include "
YAPOG/System/IO/Xml/XmlReader.hpp
"
6
#include "
YAPOG/System/IO/Xml/XmlReaderCollection.hpp
"
7
#include "
YAPOG/System/Error/Exception.hpp
"
8
#include "
YAPOG/Game/Factory/ObjectFactory.hpp
"
9
#include "
YAPOG/System/StringHelper.hpp
"
10
11
namespace
yap
12
{
13
template
<
typename
K>
14
inline
SpriteSetReader<K>::SpriteSetReader
(
15
SpriteSet<K>
& spriteSet,
16
const
String
& xmlRootNodeName)
17
:
BaseSpriteReader
(spriteSet, xmlRootNodeName)
18
, spriteSet_ (spriteSet)
19
{
20
}
21
22
template
<
typename
K>
23
inline
SpriteSetReader<K>::~SpriteSetReader
()
24
{
25
}
26
27
template
<
typename
K>
28
inline
void
SpriteSetReader<K>::Visit
(
XmlReader
& visitable)
29
{
30
BaseSpriteReader::Visit
(visitable);
31
32
auto
reader = visitable.
ChangeRoot
(xmlRootNodeName_);
33
34
XmlReaderCollection
spriteReaders;
35
reader->ReadNodes (
"sprite"
, spriteReaders);
36
for
(
auto
& spriteReader : spriteReaders)
37
{
38
K key = StringHelper::Parse<K> (spriteReader->ReadString (
"key"
));
39
40
String
spriteType = spriteReader->ReadString (
"spriteType"
);
41
42
spriteSet_.AddSprite (
43
key,
44
ObjectFactory::Instance
().Create<ISprite> (
45
spriteType,
46
*spriteReader,
47
spriteType));
48
}
49
}
50
}
// namespace yap
51
52
#endif // YAPOG_SPRITESETREADER_HXX
YAPOG
include
YAPOG
Graphics
Game
Sprite
SpriteSetReader.hxx
Generated on Mon Sep 17 2012 22:24:23 for YAPOG by
1.8.1.1