Esempio n. 1
0
void CScores::OnRequestSuccessRanking()
{	
	//Get score and rank
	m_curuserscore = 0;
	m_curuserrank = (int)SC_RankingController_GetRanking(m_rankingController);
	SC_Score_h score = SC_RankingController_GetScore(m_rankingController);
	if (score)
	{
		m_curuserscore = (int)SC_Score_GetResult(score);
		m_curuserminorresult = (int)SC_Score_GetMinorResult(score);
	}
	if (g_localhighscore > m_curuserscore) //Submit local highscore if need be
	{
		
		DoSubmitScore();
		StartWait("Submiting current user score");
		
	}
	else // Else loading scores list
	{
		//See OnRequestSuccess()
		SC_ScoresController_SetMode(m_scoresController, 1);
		SC_ScoresController_LoadRange(m_scoresController, 0, SC_PAGE_SCORES_COUNT);		
		StartWait("Loading global scores");
	}
}
FREObject loadScores(FREContext ctx, void* functionData, uint32_t argc, FREObject argv[])
{
	FREObject start=0,length=0;
	int aStart=0,aLength=0;
	FREGetObjectProperty(argv[0],(const uint8_t*)"start",start,NULL);
	FREGetObjectProperty(argv[0],(const uint8_t*)"length",length,NULL);
	FREGetObjectAsInt32(start,&aStart);
	FREGetObjectAsInt32(length,&aLength);
#if defined(BB10)
	SC_Range_t aRange = {aStart,aLength};
	SC_ScoresController_LoadScores(scores_controller,aRange); // TODO: This is different in bb10, there is a range object
#else
	SC_ScoresController_LoadRange(scores_controller,aStart,aLength);
#endif
	return NULL;
}