bool Serializer::WriteVariantVector(const VariantVector& value) { bool success = true; success &= WriteVLE(value.Size()); for (VariantVector::ConstIterator i = value.Begin(); i != value.End(); ++i) success &= WriteVariant(*i); return success; }
bool XMLElement::SetVariantVector(const VariantVector& value) { // Must remove all existing variant child elements (if they exist) to not cause confusion if (!RemoveChildren("variant")) return false; for (VariantVector::ConstIterator i = value.Begin(); i != value.End(); ++i) { XMLElement variantElem = CreateChild("variant"); if (!variantElem) return false; variantElem.SetVariant(*i); } return true; }
void Cursor::SetShapesAttr(const VariantVector& value) { if (!value.Size()) return; for (VariantVector::ConstIterator i = value.Begin(); i != value.End(); ++i) { VariantVector shapeVector = i->GetVariantVector(); if (shapeVector.Size() >= 4) { String shape = shapeVector[0].GetString(); ResourceRef ref = shapeVector[1].GetResourceRef(); IntRect imageRect = shapeVector[2].GetIntRect(); IntVector2 hotSpot = shapeVector[3].GetIntVector2(); DefineShape(shape, GetSubsystem<ResourceCache>()->GetResource<Image>(ref.name_), imageRect, hotSpot); } } }