void ResourceData::serializeImpl(VariableSerializer *serializer) const {
  String saveName;
  int saveId;
  serializer->getResourceInfo(saveName, saveId);
  serializer->setResourceInfo(o_getResourceName(), o_getResourceId());
  o_toArray().serialize(serializer);
  serializer->setResourceInfo(saveName, saveId);
}
void ResourceData::serialize(VariableSerializer *serializer) const {
  if (serializer->incNestedLevel((void*)this, true)) {
    serializer->writeOverflow((void*)this, true);
  } else {
    String saveName;
    int saveId;
    serializer->getResourceInfo(saveName, saveId);
    serializer->setResourceInfo(o_getResourceName(), o_getResourceId());
    o_toArray().serialize(serializer);
    serializer->setResourceInfo(saveName, saveId);
  }
  serializer->decNestedLevel((void*)this);
}