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 CProfileOptions::SaveProfile(unsigned int reason /* = ePR_Options*/) { IPlayerProfileManager* profileManager = g_pGame->GetIGameFramework()->GetIPlayerProfileManager(); if(!profileManager || profileManager->IsLoadingProfile() || profileManager->IsSavingProfile()) return; IPlayerProfileManager::EProfileOperationResult result; profileManager->SaveProfile(profileManager->GetCurrentUser(), result, reason); }
IPlayerProfile* CUIManager::GetCurrentProfile() { if (!gEnv->pGame || !gEnv->pGame->GetIGameFramework() || !gEnv->pGame->GetIGameFramework()->GetIPlayerProfileManager()) { assert(false); return NULL; } IPlayerProfileManager* pProfileManager = gEnv->pGame->GetIGameFramework()->GetIPlayerProfileManager(); return pProfileManager->GetCurrentProfile( pProfileManager->GetCurrentUser() ); }
void CUISettings::OnLogoutUser() { CUIManager *pManager = CUIManager::GetInstance(); if(pManager) pManager->SaveProfile(); if(gEnv->pGame && gEnv->pGame->GetIGameFramework() && gEnv->pGame->GetIGameFramework()->GetIPlayerProfileManager()) { IPlayerProfileManager *pProfileManager = gEnv->pGame->GetIGameFramework()->GetIPlayerProfileManager(); pProfileManager->LogoutUser(pProfileManager->GetCurrentUser()); } }