public virtual void postNewScore(int in_score)
	{
		m_newScore = in_score;
		m_newScoreIndex = -1; // -1 means it's not in the top 10
		spinner.gameObject.SetActive(true);

		foreach (GUIText entry in entriesText)
		{
			entry.text = "";
		}

		// Save 10 last best scores into a player entity in brainCloud

		// Get our existing "BestScores" entity (if it exists)
		//TODO: Call not supported yet by brainCloud
	/*	BrainCloudWrapper.GetBC().GetEntityService().GetEntitiesByType(
			"BestScores",
			(string responseData, object cbObject) => {
				int tmp;
				tmp = 5;
			},
			(string responseData, object cbObject) => {
				int tmp;
				tmp = 5;
			},
			null);*/

		// Fetch existing entities for this player
		BrainCloudWrapper.GetBC().GetPlayerStateService().ReadPlayerState((string responseData, object cbObject) => {

			// Construct a list of all entities present for this player
			BCEntityFactory entityFactory = new BCEntityFactory(BrainCloudWrapper.GetBC().GetEntityService());
			IList<BCUserEntity> entities = entityFactory.NewUserEntitiesFromReadPlayerState(responseData);

			// Search for our "BestScores" entity
			BCUserEntity bestScoresEntity = null;
			foreach (BCUserEntity entity in entities)
			{
				if (entity.EntityType == "BestScores")
				{
					// We found it
					bestScoresEntity = entity;
					break;
				}
			}

			// [dsl] Note: all previous lines could be simplified by a new BC call: 
			// BrainCloudWrapper.GetBC().GetEntityService().GetEntitiesByType("BestScores");

			// Check if our entity exists or not
			if (bestScoresEntity == null)
			{
				// Entity was not created. This will happend if we
				// do this for the first time for this player.
				// We create it
				bestScoresEntity = entityFactory.NewUserEntity("BestScores");

				// Fill it with empty list of leaderboard entries
				List<int> newEntries = new List<int>(MAX_ENTRIES);
				for (int i = 0; i < MAX_ENTRIES; ++i)
				{
					newEntries.Add(0);
				}
				bestScoresEntity["entries"] = newEntries;
			}

			// Get our best score entries from our Entity
			IList<int> entries = bestScoresEntity.Get<IList<int>>("entries");

			// Insert our new score in it
			for (int i = 0; i < MAX_ENTRIES; ++i)
			{
				int previous = entries[i];
				if (m_newScore > previous)
				{
					// Shift previous entries back
					for (int j = MAX_ENTRIES - 1; j > i; --j)
					{
						entries[j] = entries[j - 1];
					}

					// Insert new one here
					entries[i] = m_newScore;
					m_newScoreIndex = i;
					break;
				}
			}

			// Store our entity into the cloud
			bestScoresEntity.StoreAsync(null, null);

			// Ok done, update our UI
			for (int i = 0; i < MAX_ENTRIES; ++i)
			{
				int score = entries[i];
				if (score == 0)
				{
					entriesText[i].text = "---"; // No entry here
				}
				else 
				{
					entriesText[i].text = score.ToString();
				}

				// Show our new score if it's high enough, with little arrows --> score <--
				if (m_newScoreIndex == i)
				{
					entriesText[i].text = "--> " + entriesText[i].text + " <--";
				}
			}
			spinner.gameObject.SetActive(false);
		}, null, null);
	}
    public virtual void postNewScore(int in_score)
    {
        m_newScore      = in_score;
        m_newScoreIndex = -1;         // -1 means it's not in the top 10
        spinner.gameObject.SetActive(true);

        foreach (GUIText entry in entriesText)
        {
            entry.text = "";
        }

        // Save 10 last best scores into a player entity in brainCloud

        // Get our existing "BestScores" entity (if it exists)
        //TODO: Call not supported yet by brainCloud

        /*	BrainCloudWrapper.GetBC().GetEntityService().GetEntitiesByType(
         *              "BestScores",
         *              (string responseData, object cbObject) => {
         *                      int tmp;
         *                      tmp = 5;
         *              },
         *              (string responseData, object cbObject) => {
         *                      int tmp;
         *                      tmp = 5;
         *              },
         *              null);*/

        // Fetch existing entities for this player
        BrainCloudWrapper.GetBC().GetPlayerStateService().ReadPlayerState((string responseData, object cbObject) => {
            // Construct a list of all entities present for this player
            BCEntityFactory entityFactory = new BCEntityFactory(BrainCloudWrapper.GetBC().GetEntityService());
            IList <BCUserEntity> entities = entityFactory.NewUserEntitiesFromReadPlayerState(responseData);

            // Search for our "BestScores" entity
            BCUserEntity bestScoresEntity = null;
            foreach (BCUserEntity entity in entities)
            {
                if (entity.EntityType == "BestScores")
                {
                    // We found it
                    bestScoresEntity = entity;
                    break;
                }
            }

            // [dsl] Note: all previous lines could be simplified by a new BC call:
            // BrainCloudWrapper.GetBC().GetEntityService().GetEntitiesByType("BestScores");

            // Check if our entity exists or not
            if (bestScoresEntity == null)
            {
                // Entity was not created. This will happend if we
                // do this for the first time for this player.
                // We create it
                bestScoresEntity = entityFactory.NewUserEntity("BestScores");

                // Fill it with empty list of leaderboard entries
                List <int> newEntries = new List <int>(MAX_ENTRIES);
                for (int i = 0; i < MAX_ENTRIES; ++i)
                {
                    newEntries.Add(0);
                }
                bestScoresEntity["entries"] = newEntries;
            }

            // Get our best score entries from our Entity
            IList <int> entries = bestScoresEntity.Get <IList <int> >("entries");

            // Insert our new score in it
            for (int i = 0; i < MAX_ENTRIES; ++i)
            {
                int previous = entries[i];
                if (m_newScore > previous)
                {
                    // Shift previous entries back
                    for (int j = MAX_ENTRIES - 1; j > i; --j)
                    {
                        entries[j] = entries[j - 1];
                    }

                    // Insert new one here
                    entries[i]      = m_newScore;
                    m_newScoreIndex = i;
                    break;
                }
            }

            // Store our entity into the cloud
            bestScoresEntity.StoreAsync(null, null);

            // Ok done, update our UI
            for (int i = 0; i < MAX_ENTRIES; ++i)
            {
                int score = entries[i];
                if (score == 0)
                {
                    entriesText[i].text = "---";                     // No entry here
                }
                else
                {
                    entriesText[i].text = score.ToString();
                }

                // Show our new score if it's high enough, with little arrows --> score <--
                if (m_newScoreIndex == i)
                {
                    entriesText[i].text = "--> " + entriesText[i].text + " <--";
                }
            }
            spinner.gameObject.SetActive(false);
        }, null, null);
    }