31 std::string ResourceImageSet::mTextureEmpty;
32 IntSize ResourceImageSet::mSizeEmpty;
33 std::vector<IntPoint> ResourceImageSet::mFramesEmpty;
35 void ResourceImageSet::deserialization(
xml::ElementPtr _node, Version _version)
37 Base::deserialization(_node, _version);
40 xml::ElementEnumerator group_node = _node->getElementEnumerator();
41 while (group_node.next(
"Group"))
44 group.name = group_node->findAttribute(
"name");
46 group.texture = group_node->findAttribute(
"texture");
48 if (_version >= Version(1, 1))
55 xml::ElementEnumerator index_node = group_node->getElementEnumerator();
56 while (index_node.next(
"Index"))
59 index.name = index_node->findAttribute(
"name");
62 xml::ElementEnumerator frame_node = index_node->getElementEnumerator();
63 while (frame_node.next(
"Frame"))
67 if ((count < 1) || (count > 256)) count = 1;
70 index.frames.push_back(point);
75 group.indexes.push_back(index);
78 mGroups.push_back(group);
84 size_t index_group = getGroupIndex(_group);
88 size_t index_image = getImageIndex(group, _index);
100 if (_group < mGroups.size())
103 size_t index_image = getImageIndex(group, _index);
110 return ImageIndexInfo(mTextureEmpty, mSizeEmpty, 0, mFramesEmpty);
115 size_t index_group = getGroupIndex(_group);
119 if (_index < group.
indexes.size())
125 return ImageIndexInfo(mTextureEmpty, mSizeEmpty, 0, mFramesEmpty);
130 if (_group < mGroups.size())
133 if (_index < group.
indexes.size())
139 return ImageIndexInfo(mTextureEmpty, mSizeEmpty, 0, mFramesEmpty);
144 size_t index_group = getGroupIndex(_group);
148 if (_index < group.
indexes.size())
154 return ImageIndexInfo(mTextureEmpty, mSizeEmpty, 0, mFramesEmpty);
159 size_t index_group = getGroupIndex(_group);
163 size_t index_image = getImageIndex(group, _index);
170 return ImageIndexInfo(mTextureEmpty, mSizeEmpty, 0, mFramesEmpty);