void Character::SaveCharacter() { _log( ITEM__TRACE, "Saving character %u.", itemID() ); sLog.Debug( "Character::SaveCharacter()", "Saving all character info and skill attribute info to DB for character %s...", itemName().c_str() ); // character data m_factory.db().SaveCharacter( itemID(), CharacterData( accountID(), title().c_str(), description().c_str(), gender(), bounty(), balance(), securityRating(), logonMinutes(), corporationID(), allianceID(), warFactionID(), stationID(), solarSystemID(), constellationID(), regionID(), ancestryID(), careerID(), schoolID(), careerSpecialityID(), startDateTime(), createDateTime(), corporationDateTime() ) ); // corporation data m_factory.db().SaveCorpMemberInfo( itemID(), CorpMemberInfo( corporationHQ(), corpRole(), rolesAtAll(), rolesAtBase(), rolesAtHQ(), rolesAtOther() ) ); // Save this character's own attributes: SaveAttributes(); // Loop through all skills and invoke mAttributeMap.SaveAttributes() for each std::vector<InventoryItemRef> skills; GetSkillsList( skills ); std::vector<InventoryItemRef>::iterator cur, end; cur = skills.begin(); end = skills.end(); for(; cur != end; cur++) cur->get()->SaveAttributes(); //cur->get()->mAttributeMap.Save(); }
bool OptionsDialog::Show( bool show ) { if( !show ) SaveAttributes(); return wxDialog::Show( show ); }
void InventoryItem::SaveItem() { //_log( ITEM__TRACE, "Saving item %u.", itemID() ); SaveAttributes(); m_factory.db().SaveItem( itemID(), ItemData( itemName().c_str(), typeID(), ownerID(), locationID(), flag(), contraband(), singleton(), quantity(), position(), customInfo().c_str() ) ); }
int CzXmlNode::SaveTree(CzFile* file, int level) { int err = 0; CzString out; out.allocString(256); for (int t = 0; t < level; t++) out += "\t"; out += "<"; out += Name; if (!file->Write((void*)out.c_str(), out.getLength())) return -1; err = SaveAttributes(file); if (err < 0) return err; if (HasValue) { if (Value.getLength() == 0) out = " />\n"; else { out = ">"; out += Value.c_str(); } out += "</"; out += Name.c_str(); out += ">\n"; if (!file->Write((void*)out.c_str(), out.getLength())) return -1; } else { if (Children.size() == 0) { out = " />\n"; if (!file->Write((void*)out.c_str(), out.getLength())) return -1; } else { out = ">\n"; if (!file->Write((void*)out.c_str(), out.getLength())) return -1; for (CzXmlNodeList::iterator i = Children.begin(); i != Children.end(); ++i) { err = (*i)->SaveTree(file, level + 1); if (err < 0) return err; } for (int t = 0; t < level; t++) { out = "\t"; if (!file->Write((void*)out.c_str(), out.getLength())) return -1; } out = "</"; out += Name.c_str(); out += ">\n"; if (!file->Write((void*)out.c_str(), out.getLength())) return -1; } } return 0; }
WindowAttributesPickle::~WindowAttributesPickle() { SaveAttributes(); }
int CIwGameXmlNode::SaveTree(CIwGameFile* file, int level) { int err = 0; for (int t = 0; t < level; t++) { err = s3eFilePrintf(file->getFileHandle(), "\t"); if (err < 0) return err; } err = s3eFilePrintf(file->getFileHandle(), "<%s", Name.c_str()); if (err < 0) return err; err = SaveAttributes(file); if (err < 0) return err; if (HasValue) { if (Value.GetLength() == 0) { err = s3eFilePrintf(file->getFileHandle(), " />\n"); if (err < 0) return err; } else { err = s3eFilePrintf(file->getFileHandle(), ">"); if (err < 0) return err; err = s3eFilePrintf(file->getFileHandle(), "%s", Value.c_str()); if (err < 0) return err; } err = s3eFilePrintf(file->getFileHandle(), "</%s>\n", Name.c_str()); if (err < 0) return err; } else { if (Children.size() == 0) { err = s3eFilePrintf(file->getFileHandle(), " />\n"); if (err < 0) return err; } else { err = s3eFilePrintf(file->getFileHandle(), ">\n"); if (err < 0) return err; for (CIwGameXmlNodeList::iterator i = Children.begin(); i != Children.end(); ++i) { err = (*i)->SaveTree(file, level + 1); if (err < 0) return err; } for (int t = 0; t < level; t++) { err = s3eFilePrintf(file->getFileHandle(), "\t"); if (err < 0) return err; } err = s3eFilePrintf(file->getFileHandle(), "</%s>\n", Name.c_str()); if (err < 0) return err; } } return 0; }
//------------------------------------------------------------------------ bool CPlayerProfile::SerializeXML(CPlayerProfileManager::IProfileXMLSerializer* pSerializer) { if (pSerializer->IsLoading()) { // serialize attributes XmlNodeRef attributesNode = pSerializer->GetSection(CPlayerProfileManager::ePPS_Attribute); if (attributesNode) { CPlayerProfile* pDefaultProfile = static_cast<CPlayerProfile*> (m_pManager->GetDefaultProfile()); int requiredVersion = 0; if (IsDefault() == false && pDefaultProfile) requiredVersion = pDefaultProfile->m_attributesVersion; bool ok = LoadAttributes(attributesNode, requiredVersion); } else { GameWarning("CPlayerProfile::SerializeXML: No attributes tag '%s' found", ATTRIBUTES_TAG); return false; } // preview profiles never load actionmaps! if (m_bIsPreview == false) { // serialize action maps XmlNodeRef actionMaps = pSerializer->GetSection(CPlayerProfileManager::ePPS_Actionmap); if (actionMaps) { // the default profile loaded has no associated actionmaps, but // rather assumes that all actionmaps which are currently loaded belong to the default // profile // if it's not the default profile to be loaded, then we load the ActionMap // but we do a version check. if the profile's actionmaps are outdated, it's not loaded // but the default action map is used instead // on saving the profile it's automatically updated (e.g. the current actionmaps [correct version] // are saved IActionMapManager* pAM = CCryAction::GetCryAction()->GetIActionMapManager(); if (IsDefault() == false && pAM) { pAM->Reset(); pAM->LoadRebindDataFromXML(actionMaps); // check version and don't load if outdated } } else { GameWarning("CPlayerProfile::SerializeXML: No actionmaps tag '%s' found", ACTIONMAPS_TAG); return false; } } } else { if (m_bIsPreview == false) { // serialize attributes XmlNodeRef attributesNode = pSerializer->CreateNewSection(CPlayerProfileManager::ePPS_Attribute, CPlayerProfile::ATTRIBUTES_TAG); bool ok = SaveAttributes(attributesNode); if (!ok) return false; // serialize action maps IActionMapManager* pAM = CCryAction::GetCryAction()->GetIActionMapManager(); XmlNodeRef actionMapsNode = pSerializer->CreateNewSection(CPlayerProfileManager::ePPS_Actionmap, CPlayerProfile::ACTIONMAPS_TAG); pAM->SaveRebindDataToXML(actionMapsNode); return ok; } } return true; }