Beispiel #1
0
    /// <summary>
    /// 查询排行榜数据回调
    /// </summary>
    /// <param name="pCallback"></param>
    /// <param name="bIOFailure"></param>
    void OnLeaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure)
    {
        m_SteamLeaderboardEntries = pCallback.m_hSteamLeaderboardEntries;

        List <GetLeaderboardEntriesResult.LeaderboardEntries> listData = new List <GetLeaderboardEntriesResult.LeaderboardEntries>();

        for (int i = 0; i < pCallback.m_cEntryCount; i++)
        {
            LeaderboardEntry_t entry_T;
            bool ret = SteamUserStats.GetDownloadedLeaderboardEntry(m_SteamLeaderboardEntries, i, out entry_T, null, 0);
            GetLeaderboardEntriesResult.LeaderboardEntries itemData = new GetLeaderboardEntriesResult.LeaderboardEntries();
            itemData.score   = entry_T.m_nScore;
            itemData.rank    = entry_T.m_nGlobalRank;
            itemData.steamID = entry_T.m_steamIDUser.ToString();
            listData.Add(itemData);
        }
        if (mFindDataType == 0)
        {
            OnLeaderboardEntriesFindResultCallBack.leaderboradEntriesFindResultForSelf(listData);
        }
        else if (mFindDataType == 1)
        {
            OnLeaderboardEntriesFindResultCallBack.leaderboradEntriesFindResultForAll(listData);
        }
    }
Beispiel #2
0
    private void OnLeaderBoardScoresDownloaded(LeaderboardScoresDownloaded_t param, bool bIOFailure)
    {
        List <LeaderBoardVars> results = new List <LeaderBoardVars>();

        if (bIOFailure)
        {
            Debug.LogError("Error getting leader board entries");
        }
        else
        {
            int count = param.m_cEntryCount;
            SteamLeaderboardEntries_t entries = param.m_hSteamLeaderboardEntries;
            for (int i = 0; i < count; i++)
            {
                LeaderboardEntry_t entry;
                int[] details = new int[MAX_DETAILS];
                if (SteamUserStats.GetDownloadedLeaderboardEntry(entries, i, out entry, details, MAX_DETAILS))
                {
                    LeaderBoardVars leaderBoardVars = ExtractLeaderBoardVars(entry, details);
                    results.Add(leaderBoardVars);
                }
            }
            results = SortEntries(results);
        }
        callbackAction(results, false);
    }
        //This checks if the leaderboard was successfully downloaded or not and updates the variables that'll be used in conjuction with the SteamAPI Handler
        static private void OnLeaderBoardScoresDownloaded(LeaderboardScoresDownloaded_t _callback, bool _IOFailure)
        {
            m_leaderboardEntries = _callback.m_hSteamLeaderboardEntries;
            m_leaderboardCount   = _callback.m_cEntryCount;

            Debug.Log("Leaderboard: " + _callback.m_hSteamLeaderboard + " Entries: " + _callback.m_hSteamLeaderboardEntries + "Count: " + _callback.m_cEntryCount);
        }
 private void OnLeaderboardFindAroundUser(LeaderboardScoresDownloaded_t pCallback, bool failure)
 {
     Debug.Log("STEAM LEADERBOARDS: found " + pCallback.m_cEntryCount + " entries around user with failure: " + failure);
     s_entriesAroundUser = pCallback.m_hSteamLeaderboardEntries;
     entriesAroundUser   = GetDownloadedEntries(s_entriesAroundUser, pCallback.m_cEntryCount);
     OnLeaderboardUpdate.Invoke(failure);
 }
    private void OnLeaderboardScoresDownloadedForUserList(LeaderboardScoresDownloaded_t itemResult, bool bIOFailure)
    {
        if (bIOFailure)
        {
            if (mEntriesCallBack != null)
            {
                mEntriesCallBack.GetEntriesForUserListFail(SteamLeaderboardFailEnum.GETLIST_FAIL);
            }
            return;
        }
        SteamLeaderboardEntries_t entriesData = itemResult.m_hSteamLeaderboardEntries;

        List <SteamLeaderboardEntryBean> listData = new List <SteamLeaderboardEntryBean>();

        for (int i = 0; i < itemResult.m_cEntryCount; i++)
        {
            LeaderboardEntry_t entry_T;
            int[] detailsInt = new int[64];
            SteamUserStats.GetDownloadedLeaderboardEntry(entriesData, i, out entry_T, detailsInt, 64);
            SteamLeaderboardEntryBean itemData = new SteamLeaderboardEntryBean
            {
                score   = entry_T.m_nScore,
                rank    = entry_T.m_nGlobalRank,
                steamID = entry_T.m_steamIDUser,
                details = detailsInt
            };
            listData.Add(itemData);
        }
        if (mEntriesCallBack != null)
        {
            mEntriesCallBack.GetEntriesForUserListSuccess(itemResult.m_hSteamLeaderboard.m_SteamLeaderboard, listData);
        }
    }
 private void OnLeaderboardFindTopTen(LeaderboardScoresDownloaded_t pCallback, bool failure)
 {
     Debug.Log("STEAM LEADERBOARDS: found top " + pCallback.m_cEntryCount + " entries with failure: " + failure);
     s_entriesTopTen = pCallback.m_hSteamLeaderboardEntries;
     entriesTopTen   = GetDownloadedEntries(s_entriesTopTen, pCallback.m_cEntryCount);
     OnLeaderboardUpdate.Invoke(failure);
 }
 LeaderboardEntry_t[] GetDownloadedEntries(SteamLeaderboardEntries_t entries, int count)
 {
     LeaderboardEntry_t[] e = new LeaderboardEntry_t[count];
     for (int i = 0; i < count; i++)
     {
         LeaderboardEntry_t entry;
         SteamUserStats.GetDownloadedLeaderboardEntry(entries, i, out entry, new int[] { }, 0);
         e[i] = entry;
     }
     return(e);
 }
Beispiel #8
0
    /// <summary>
    /// Ons the leaderboard scores downloaded.
    /// </summary>
    /// <param name="pCallback">P callback.</param>
    /// <param name="bIOFailure">If set to <c>true</c> b IOF ailure.</param>
    private void OnLeaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure)
    {
        Debug.Log("[" + LeaderboardScoresDownloaded_t.k_iCallback + " - LeaderboardScoresDownloaded] - " + pCallback.m_hSteamLeaderboard + " -- " + pCallback.m_hSteamLeaderboardEntries + " -- " + pCallback.m_cEntryCount);
        SteamLeaderboardEntries = pCallback.m_hSteamLeaderboardEntries;
        CurrentDownloadEntryCnt = pCallback.m_cEntryCount;

        if (callBackDownload != null)
        {
            callBackDownload(pCallback);
        }
    }
Beispiel #9
0
 private void OnLeaderboardTop100Downloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure)
 {
     if (pCallback.m_cEntryCount == 0)
     {
         Debug.Log("[LeaderBoard] Top100: No entries Found");
     }
     else
     {
         Debug.Log("[LeaderBoardTop100] Top100: " + pCallback.m_cEntryCount + " entries found");
         topEntriesCount          = pCallback.m_cEntryCount;
         hSteamTop100Entries      = pCallback.m_hSteamLeaderboardEntries;
         downLoadingTop100Entries = false;
     }
 }
Beispiel #10
0
 private void OnleaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure)
 {
     if (pCallback.m_cEntryCount == 0)
     {
         Debug.Log("[LeaderBoard] No entries Found");
         SetLeaderBoardScore(1200);
         uic.intro_playerMMR.text       = "mmr: 1200";
         pc.playerMMR                   = 1200;
         pc.newPlayer                   = true;
         uic.fetchSteamLeaderboardEntry = false;
     }
     else
     {
         Debug.Log("[LeaderBoard] " + pCallback.m_cEntryCount + " entry found");
         hSteamLeaderboardEntry = pCallback.m_hSteamLeaderboardEntries;
         downLoadingUserEntry   = false;
         downloadedLeaderboard  = true;
     }
 }
    private void OnLeaderboardFindUser(LeaderboardScoresDownloaded_t pCallback, bool failure)
    {
        if (pCallback.m_cEntryCount == 0)
        {
            failure = true;
        }
        Debug.Log("STEAM LEADERBOARDS: found user entry with failure: " + failure);
        s_userEntry = pCallback.m_hSteamLeaderboardEntries;

        if (pCallback.m_cEntryCount == 1)
        {
            entryUser = GetDownloadedEntries(s_userEntry, pCallback.m_cEntryCount)[0];
        }
        else
        {
            failure = true;
        }

        OnLeaderboardUpdate.Invoke(failure);
    }
        private void OnLeaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure)
        {
            LeaderboardScoreEntryArg arg = new LeaderboardScoreEntryArg("", -1, 0);

            if (pCallback.m_hSteamLeaderboard != null)
            {
                KeyValuePair <string, SteamLeaderboard_t?>?entry = leaderbordsStatus.Where(y => y.Value == pCallback.m_hSteamLeaderboard).FirstOrDefault();
                if (entry != null)
                {
                    arg.LeaderboardId = entry.Value.Key;
                }
            }

            if (!bIOFailure)
            {
                SteamLeaderboardEntries_t m_SteamLeaderboardEntries = pCallback.m_hSteamLeaderboardEntries;
                LeaderboardEntry_t        LeaderboardEntry;
                bool ret = SteamUserStats.GetDownloadedLeaderboardEntry(m_SteamLeaderboardEntries, 0, out LeaderboardEntry, null, 0);

                if (ret)
                {
                    arg.Rank  = LeaderboardEntry.m_nGlobalRank;
                    arg.Score = LeaderboardEntry.m_nScore;
                }
                else
                {
                    arg.Rank = -1;
                }
            }
            else
            {
                arg.Rank = -1;
            }

            if (!string.IsNullOrEmpty(arg.LeaderboardId))
            {
                RaiseGameServiceEvent(new GameServiceEvent(GameServiceEventType.LeaderboardScoreReady, arg));
            }
        }
	private void OnLeaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure) {
		Debug.Log("[" + LeaderboardScoresDownloaded_t.k_iCallback + " - LeaderboardScoresDownloaded] - " + pCallback.m_hSteamLeaderboard + " -- " + pCallback.m_hSteamLeaderboardEntries + " -- " + pCallback.m_cEntryCount);
		m_SteamLeaderboardEntries = pCallback.m_hSteamLeaderboardEntries;
	}
        internal bool GetDownloadedLeaderboardEntry(SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, ref LeaderboardEntry_t pLeaderboardEntry, [In, Out] int[]  pDetails, int cDetailsMax)
        {
            var returnValue = _GetDownloadedLeaderboardEntry(Self, hSteamLeaderboardEntries, index, ref pLeaderboardEntry, pDetails, cDetailsMax);

            return(returnValue);
        }
 private void OnLeaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure)
 {
     Debug.Log("[" + LeaderboardScoresDownloaded_t.k_iCallback + " - LeaderboardScoresDownloaded] - " + pCallback.m_hSteamLeaderboard + " -- " + pCallback.m_hSteamLeaderboardEntries + " -- " + pCallback.m_cEntryCount);
     m_SteamLeaderboardEntries = pCallback.m_hSteamLeaderboardEntries;
 }
Beispiel #16
0
		public static extern bool ISteamUserStats_GetDownloadedLeaderboardEntry(SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, out LeaderboardEntry_t pLeaderboardEntry, [In, Out] int[] pDetails, int cDetailsMax);
Beispiel #17
0
 public static bool GetDownloadedLeaderboardEntry(SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, out LeaderboardEntry_t pLeaderboardEntry, int[] pDetails, int cDetailsMax)
 {
     InteropHelp.TestIfAvailableClient();
     return NativeMethods.ISteamUserStats_GetDownloadedLeaderboardEntry(hSteamLeaderboardEntries, index, out pLeaderboardEntry, pDetails, cDetailsMax);
 }
 private static extern bool _GetDownloadedLeaderboardEntry(IntPtr self, SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, ref LeaderboardEntry_t pLeaderboardEntry, [In, Out] int[]  pDetails, int cDetailsMax);