void CFlashMenuObject::SelectActiveProfile() { IPlayerProfileManager *pMan = g_pGame->GetOptions()->GetProfileManager(); if(!pMan) return; const char *userName = pMan->GetCurrentUser(); for(int i = 0; i < pMan->GetProfileCount(userName); ++i ) { IPlayerProfileManager::SProfileDescription profDesc; pMan->GetProfileInfo(userName, i, profDesc); const IPlayerProfile *preview = pMan->PreviewProfile(userName, profDesc.name); int iActive = 0; if(preview) { preview->GetAttribute("Activated",iActive); } if(iActive>0) { pMan->ActivateProfile(userName,profDesc.name); break; } } pMan->PreviewProfile(userName,NULL); }
void CFlashMenuObject::UpdateProfiles() { IPlayerProfileManager *pProfileMan = g_pGame->GetOptions()->GetProfileManager(); if(!pProfileMan) return; m_pPlayerProfileManager = pProfileMan; IPlayerProfileManager::EProfileOperationResult result; m_pPlayerProfileManager->SaveProfile(m_pPlayerProfileManager->GetCurrentUser(), result); if(m_apFlashMenuScreens[MENUSCREEN_FRONTENDSTART]) { m_apFlashMenuScreens[MENUSCREEN_FRONTENDSTART]->Invoke("Root.MainMenu.Profile.resetProfiles"); const char *userName = m_pPlayerProfileManager->GetCurrentUser(); for(int i = 0; i < m_pPlayerProfileManager->GetProfileCount(userName); ++i ) { IPlayerProfileManager::SProfileDescription profDesc; pProfileMan->GetProfileInfo(userName, i, profDesc); const IPlayerProfile *pProfile = m_pPlayerProfileManager->PreviewProfile(userName, profDesc.name); string buffer; if(pProfile && pProfile->GetAttribute("Singleplayer.LastSavedGame", buffer)) { int pos = buffer.rfind('/'); if(pos) buffer = buffer.substr(pos+1, buffer.length()); } SFlashVarValue args[3] = {profDesc.name, buffer.c_str(), GetMappedProfileName(profDesc.name) }; m_apFlashMenuScreens[MENUSCREEN_FRONTENDSTART]->Invoke("Root.MainMenu.Profile.addProfileToList", args, 3); } m_pPlayerProfileManager->PreviewProfile(userName, NULL); IPlayerProfile *pProfile = pProfileMan->GetCurrentProfile(userName); if(pProfile) m_apFlashMenuScreens[MENUSCREEN_FRONTENDSTART]->Invoke("setActiveProfile", GetMappedProfileName(pProfile->GetName())); } }