16 void ResourceImageSet::deserialization(
xml::ElementPtr _node, Version _version)
18 Base::deserialization(_node, _version);
21 xml::ElementEnumerator group_node = _node->getElementEnumerator();
22 while (group_node.next(
"Group"))
25 group.name = group_node->findAttribute(
"name");
27 group.texture = group_node->findAttribute(
"texture");
29 if (_version >= Version(1, 1))
36 xml::ElementEnumerator index_node = group_node->getElementEnumerator();
37 while (index_node.next(
"Index"))
40 index.name = index_node->findAttribute(
"name");
43 xml::ElementEnumerator frame_node = index_node->getElementEnumerator();
44 while (frame_node.next(
"Frame"))
48 if ((count < 1) || (count > 256))
52 index.frames.push_back(point);
57 group.indexes.push_back(index);
66 size_t index_group = getGroupIndex(_group);
69 const GroupImage& group = mGroups[index_group];
70 size_t index_image = getImageIndex(group, _index);
82 if (_group < mGroups.size())
85 size_t index_image = getImageIndex(group, _index);
97 size_t index_group = getGroupIndex(_group);
100 const GroupImage& group = mGroups[index_group];
101 if (_index < group.
indexes.size())
112 if (_group < mGroups.size())
115 if (_index < group.
indexes.size())
126 size_t index_group = getGroupIndex(_group);
129 const GroupImage& group = mGroups[index_group];
130 if (_index < group.
indexes.size())
141 size_t index_group = getGroupIndex(_group);
144 const GroupImage& group = mGroups[index_group];
145 size_t index_image = getImageIndex(group, _index);
155 size_t ResourceImageSet::getGroupIndex(std::string_view _name)
const
157 for (
size_t index = 0; index < mGroups.size(); ++index)
159 if (mGroups[index].name == _name)
165 size_t ResourceImageSet::getGroupIndex(
const IntSize& _size)
const
167 for (
size_t index = 0; index < mGroups.size(); ++index)
169 if (mGroups[index].size == _size)
175 size_t ResourceImageSet::getImageIndex(
const GroupImage& _group, std::string_view _name)
const
178 for (
size_t index = 0; index < indices.size(); ++index)
180 if (indices[index].name == _name)
193 mGroups.push_back(_group);
static const IntSize & getZeroIntSize()
static LanguageManager & getInstance()
UString replaceTags(const UString &_line)
ImageIndexInfo getIndexInfo(std::string_view _group, std::string_view _index) const
EnumeratorGroupImage getEnumerator() const
void AddGroupImage(const GroupImage &_group)
float parseFloat(std::string_view _value)
size_t parseSizeT(std::string_view _value)
types::TPoint< int > IntPoint
std::vector< IndexImage > VectorIndexImage
constexpr size_t ITEM_NONE
types::TSize< int > IntSize
Enumerator< VectorGroupImage > EnumeratorGroupImage
std::vector< IntPoint > frames
static TPoint< int > parse(std::string_view _value)
static TSize< int > parse(std::string_view _value)