コード例 #1
0
 void OnGetTotalCountResult(RemoteStorageEnumerateWorkshopFilesResult_t pCallback, bool bIOFailure)
 {
     try
     {
         if (pCallback.m_eResult == EResult.k_EResultOK)
         {
             for (int i = 0; i < _getAmount; i++)
             {
                 int randIdx = Random.Range(1, pCallback.m_nTotalResultCount);
                 GetFileInfoResult.Add(CallResult <RemoteStorageEnumerateWorkshopFilesResult_t> .Create(OnGetFileInfoResult));
                 SteamAPICall_t handle = SteamRemoteStorage.EnumeratePublishedWorkshopFiles(EWorkshopEnumerationType.k_EWorkshopEnumerationTypeRecent, (uint)randIdx, 1, 0, _tags, null);
                 GetFileInfoResult[i].Set(handle);
             }
         }
         else
         {
             Finish(_fileIDs, _publishIDs, false);
         }
     }
     catch (System.Exception e)
     {
         Finish(_fileIDs, _publishIDs, false);
         Debug.LogError(e.ToString());
     }
 }
コード例 #2
0
    void OnRemoteStorageEnumerateWorkshopFilesResult(RemoteStorageEnumerateWorkshopFilesResult_t pCallback, bool bIOFailure)
    {
        Debug.Log("[" + RemoteStorageEnumerateWorkshopFilesResult_t.k_iCallback + " - RemoteStorageEnumerateWorkshopFilesResult] - " + pCallback.m_eResult + " -- " + pCallback.m_nResultsReturned + " -- " + pCallback.m_nTotalResultCount + " -- " + pCallback.m_rgPublishedFileId + " -- " + pCallback.m_rgScore + " -- " + pCallback.m_nAppId + " -- " + pCallback.m_unStartIndex);
        for (int i = 0; i < pCallback.m_nResultsReturned; ++i)
        {
            print(i + ": " + pCallback.m_rgPublishedFileId[i]);
        }

        if (pCallback.m_nResultsReturned >= 1)
        {
            m_PublishedFileId = pCallback.m_rgPublishedFileId[0];
        }
    }
コード例 #3
0
        // SteamAPICall_t
        // using: Detect_StringArray
        public CallbackHandle EnumeratePublishedWorkshopFiles(WorkshopEnumerationType eEnumerationType /*EWorkshopEnumerationType*/, uint unStartIndex /*uint32*/, uint unCount /*uint32*/, uint unDays /*uint32*/, string[] pTags /*struct SteamParamStringArray_t **/, ref SteamParamStringArray_t pUserTags /*struct SteamParamStringArray_t **/, Action <RemoteStorageEnumerateWorkshopFilesResult_t, bool> CallbackFunction = null /*Action<RemoteStorageEnumerateWorkshopFilesResult_t, bool>*/)
        {
            SteamAPICall_t callback = 0;
            // Create strings
            var nativeStrings = new IntPtr[pTags.Length];

            for (int i = 0; i < pTags.Length; i++)
            {
                nativeStrings[i] = Marshal.StringToHGlobalAnsi(pTags[i]);
            }
            try
            {
                // Create string array
                var size        = Marshal.SizeOf(typeof(IntPtr)) * nativeStrings.Length;
                var nativeArray = Marshal.AllocHGlobal(size);
                Marshal.Copy(nativeStrings, 0, nativeArray, nativeStrings.Length);

                // Create SteamParamStringArray_t
                var tags = new SteamParamStringArray_t();
                tags.Strings    = nativeArray;
                tags.NumStrings = pTags.Length;
                callback        = platform.ISteamRemoteStorage_EnumeratePublishedWorkshopFiles(eEnumerationType, unStartIndex, unCount, unDays, ref tags, ref pUserTags);
            }
            finally
            {
                foreach (var x in nativeStrings)
                {
                    Marshal.FreeHGlobal(x);
                }
            }

            if (CallbackFunction == null)
            {
                return(null);
            }
            if (callback == 0)
            {
                return(null);
            }

            return(RemoteStorageEnumerateWorkshopFilesResult_t.CallResult(steamworks, callback, CallbackFunction));
        }
コード例 #4
0
 void OnGetFileInfoResult(RemoteStorageEnumerateWorkshopFilesResult_t pCallback, bool bIOFailure)
 {
     try
     {
         if (pCallback.m_eResult == EResult.k_EResultOK)
         {
             GetFileDetailsResult.Add(CallResult <RemoteStorageGetPublishedFileDetailsResult_t> .Create(OnGetFinalInfo));
             SteamAPICall_t handle = SteamRemoteStorage.GetPublishedFileDetails(pCallback.m_rgPublishedFileId[0], 0);
             GetFileDetailsResult[GetFileDetailsResult.Count - 1].Set(handle);
         }
         else
         {
             Finish(_fileIDs, _publishIDs, false);
         }
     }
     catch (System.Exception e)
     {
         Finish(_fileIDs, _publishIDs, false);
         Debug.LogError(e.ToString());
     }
 }
コード例 #5
0
    void OnRemoteStorageEnumerateWorkshopFilesResultAllUser(RemoteStorageEnumerateWorkshopFilesResult_t pCallback, bool bIOFailure)
    {    //GetPreFileList step 2
        //Debug.Log ("[" + RemoteStorageEnumerateWorkshopFilesResult_t.k_iCallback + " - RemoteStorageEnumerateWorkshopFilesResult] - " + pCallback.m_eResult + " -- " + pCallback.m_nResultsReturned + " -- " + pCallback.m_nTotalResultCount + " -- " + pCallback.m_rgPublishedFileId + " -- " + pCallback.m_rgScore + " -- " + pCallback.m_nAppId + " -- " + pCallback.m_unStartIndex);
        if (pCallback.m_eResult == EResult.k_EResultOK)
        {
            for (int i = 0; i < pCallback.m_nResultsReturned; i++)
            {
                _FileIDLsit.Add(pCallback.m_rgPublishedFileId[i]);
                //for test
                //SteamProcessMgr.Instance.GetPreFileDetail(null,pCallback.m_rgPublishedFileId[i]);
            }

            Finish(_FileIDLsit, pCallback.m_nTotalResultCount, _StartIndex, true);

            //for (int i = 0; i < pCallback.m_nResultsReturned; ++i) {
            //	Debug.Log (i + ": " + pCallback.m_rgPublishedFileId [i]);
            //}
        }
        else
        {
            Finish(_FileIDLsit, 0, _StartIndex, false);
        }
    }