本文整理汇总了C++中ObjectOutputStream::getBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectOutputStream::getBuffer方法的具体用法?C++ ObjectOutputStream::getBuffer怎么用?C++ ObjectOutputStream::getBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectOutputStream
的用法示例。
在下文中一共展示了ObjectOutputStream::getBuffer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateWeaponsDots
void ObjectVersionUpdateManager::updateWeaponsDots() {
ObjectDatabase* database = ObjectDatabaseManager::instance()->loadObjectDatabase("sceneobjects", true);
ObjectDatabaseIterator iterator(database);
ObjectInputStream objectData(2000);
uint64 objectID = 0;
info("update database weapon dots", true);
int count = 0;
uint32 classNameHashCode = STRING_HASHCODE("_className");
try {
while (iterator.getNextKeyAndValue(objectID, &objectData)) {
String className;
int oldType = 0;
try {
if (!Serializable::getVariable<String>(classNameHashCode, &className, &objectData) ||
!Serializable::getVariable<int>(STRING_HASHCODE("WeaponObject.dotType"), &oldType, &objectData)) {
objectData.clear();
continue;
}
} catch (...) {
objectData.clear();
continue;
}
if (className == "WeaponObject") {
Vector<int> dots;
ObjectOutputStream newDotsValue;
TypeInfo<Vector<int> >::toBinaryStream(&dots, &newDotsValue);
// info("we found a Player " + String::valueOf(objectID) + " with residence " + String::valueOf(residence),true);
ObjectOutputStream* newData = changeVariableData(STRING_HASHCODE("WeaponObject.dotType"), &objectData, &newDotsValue);
newData->reset();
ObjectInputStream* inputStream = new ObjectInputStream(newData->getBuffer(), newData->size());
delete newData;
ObjectOutputStream* newNextData = changeVariableData(STRING_HASHCODE("WeaponObject.dotAttribute"), inputStream, &newDotsValue);
newNextData->reset();
delete inputStream;
inputStream = new ObjectInputStream(newNextData->getBuffer(), newNextData->size());
delete newNextData;
newData = changeVariableData(STRING_HASHCODE("WeaponObject.dotStrength"), inputStream, &newDotsValue);
newData->reset();
delete inputStream;
inputStream = new ObjectInputStream(newData->getBuffer(), newData->size());
delete newData;
newNextData = changeVariableData(STRING_HASHCODE("WeaponObject.dotDuration"), inputStream, &newDotsValue);
newNextData->reset();
delete inputStream;
inputStream = new ObjectInputStream(newNextData->getBuffer(), newNextData->size());
delete newNextData;
newData = changeVariableData(STRING_HASHCODE("WeaponObject.dotPotency"), inputStream, &newDotsValue);
newData->reset();
delete inputStream;
inputStream = new ObjectInputStream(newData->getBuffer(), newData->size());
delete newData;
newNextData = changeVariableData(STRING_HASHCODE("WeaponObject.dotUses"), inputStream, &newDotsValue);
newNextData->reset();
delete inputStream;
database->putData(objectID, newNextData, NULL);
}
objectData.clear();
}
} catch (Exception& e) {
error(e.getMessage());
e.printStackTrace();
}
info("done updating databse weapon dots\n", true);
}