示例#1
0
 public void UploadLeaderboardScore(ELeaderboardUploadScoreMethod uploadScoreMethod, int score, List <int> scoreDetails)
 {
     if (scoreDetails != null)
     {
         Leaderboard.SteamUnityAPI_SteamUserStats_UploadLeaderboardScore(this._leaderboards.Stats, this._leaderboard, uploadScoreMethod, score, scoreDetails.ToArray(), scoreDetails.Count);
     }
     else
     {
         Leaderboard.SteamUnityAPI_SteamUserStats_UploadLeaderboardScore(this._leaderboards.Stats, this._leaderboard, uploadScoreMethod, score, (int[])null, 0);
     }
 }
 private void Awake()
 {
     m_leaderboardName             = leaderboardName;
     m_leaderboardEntriesRangeInit = leaderboardEntriesRangeinit;
     m_leaderboardEntriesRangeEnd  = leaderboardEntriesRangeEnd;
     m_leaderboardPrefab           = leaderboardPrefab;
     m_distanceBetweenCells        = distanceBetweenCells;
     m_uploadScoreMethod           = uploadScoreMethod;
     m_requestType          = requestType;
     m_usingentriesFinished = false;
 }
示例#3
0
        /// <summary>
        /// Uploads a score for the player to this board
        /// </summary>
        /// <param name="score"></param>
        /// <param name="method"></param>
        public void UploadScore(int score, int[] scoreDetails, ELeaderboardUploadScoreMethod method)
        {
            if (!LeaderboardId.HasValue)
            {
                Debug.LogError(name + " Leaderboard Data Object, cannot upload scores, the leaderboard has not been initalized and cannot upload scores.");
                return;
            }

            var handle = SteamUserStats.UploadLeaderboardScore(LeaderboardId.Value, method, score, scoreDetails, scoreDetails.Length);

            OnLeaderboardScoreUploadedCallResult.Set(handle);
        }
示例#4
0
        /// <summary>
        /// Uploads a score change to the indicated leaderboard
        /// </summary>
        /// <param name="boardName">Name of the board to upload the score for</param>
        /// <param name="score">The score to upload</param>
        /// <param name="method">The upload method</param>
        public void UploadLeaderboardScore(string boardName, int score, ELeaderboardUploadScoreMethod method)
        {
            var l = Leaderboards.FirstOrDefault(p => p.leaderboardName == boardName);

            if (l != null)
            {
                l.UploadScore(score, method);
            }
            else
            {
                Debug.LogError("[SteamworksLeaderboardManager.UploadLeaderboardScore] Unable to locate leaderboard [" + boardName + "], make sure the board is referenced in the Steamworks Leaderboard Manager.");
            }
        }
示例#5
0
        /// <summary>
        /// Uploads a score change to the indicated leaderboard
        /// </summary>
        /// <param name="boardIndex">Index of the board to upload the score for</param>
        /// <param name="score">The score to upload</param>
        /// <param name="method">The upload method</param>
        public void UploadLeaderboardScore(int boardIndex, int score, ELeaderboardUploadScoreMethod method)
        {
            if (boardIndex > 0 && boardIndex < Leaderboards.Count)
            {
                var l = Leaderboards[boardIndex];

                if (l != null)
                {
                    l.UploadScore(score, method);
                }
            }
            else
            {
                Debug.LogError("[SteamworksLeaderboardManager.UploadLeaderboardScore] boardIndex is out of bounds, the value must be greater than 0 and less than Leaderboards.Count");
            }
        }
示例#6
0
        /// <summary>
        /// Uploads a score change to the indicated leaderboard
        /// </summary>
        /// <param name="boardName">Name of the board to upload the score for</param>
        /// <param name="score">The score to upload</param>
        /// <param name="method">The upload method</param>
        public static void _UploadLeaderboardScore(string boardName, int score, ELeaderboardUploadScoreMethod method)
        {
            if (Instance == null)
            {
                return;
            }

            var l = Instance.Leaderboards.FirstOrDefault(p => p.leaderboardName == boardName);

            if (l != null)
            {
                l.UploadScore(score, method);
            }
            else
            {
                Debug.LogError("Unable to locate leaderboard [" + boardName + "], make sure the board is referenced in the Heathen Steam Manager.");
            }
        }
示例#7
0
        /// <summary>
        /// Uploads a score change to the indicated leaderboard
        /// </summary>
        /// <param name="boardIndex">Index of the board to upload the score for</param>
        /// <param name="score">The score to upload</param>
        /// <param name="method">The upload method</param>
        public static void _UploadLeaderboardScore(int boardIndex, int score, ELeaderboardUploadScoreMethod method)
        {
            if (Instance == null)
            {
                return;
            }

            if (boardIndex > 0 && boardIndex < Instance.Leaderboards.Count)
            {
                var l = Instance.Leaderboards[boardIndex];

                if (l != null)
                {
                    l.UploadScore(score, method);
                }
            }
            else
            {
                Debug.LogError("boardIndex is out of bounds, the value must be greater than 0 and less than Leaderboards.Count");
            }
        }
        public override void SubmitScore(string leaderbordId, int score, bool forceUpdate = false)
        {
            if (IsSignedIn)
            {
                if (leaderbordsStatus.ContainsKey(leaderbordId) && leaderbordsStatus[leaderbordId] != null)
                {
                    ELeaderboardUploadScoreMethod method = ELeaderboardUploadScoreMethod.k_ELeaderboardUploadScoreMethodKeepBest;
                    if (forceUpdate)
                    {
                        method = ELeaderboardUploadScoreMethod.k_ELeaderboardUploadScoreMethodForceUpdate;
                    }
                    SteamAPICall_t handle = SteamUserStats.UploadLeaderboardScore(leaderbordsStatus[leaderbordId].Value, method, score, null, 0);
                    CallResult <LeaderboardScoreUploaded_t> submitScoreCallback = CallResult <LeaderboardScoreUploaded_t> .Create(OnLeaderboardScoreUploaded);

                    submitScoreCallback.Set(handle);
                }
                else
                {
                    UnityEngine.Debug.Log("Leaderboard Id not found or not initialized.");
                }
            }
        }
示例#9
0
 /// <summary>
 /// Upload a score to the boeard for the current player
 /// </summary>
 /// <param name="score"></param>
 /// <param name="method"></param>
 public void UploadScore(int score, int[] scoreDetails, ELeaderboardUploadScoreMethod method)
 {
     Settings.UploadScore(score, scoreDetails, method);
 }
示例#10
0
 /// <summary>
 /// Upload a score to the boeard for the current player
 /// </summary>
 /// <param name="score"></param>
 /// <param name="method"></param>
 public void UploadScore(int score, ELeaderboardUploadScoreMethod method)
 {
     Settings.UploadScore(score, method);
 }
示例#11
0
 private static bool SteamUnityAPI_SteamUserStats_UploadLeaderboardScore(IntPtr stats, ulong leaderboard, ELeaderboardUploadScoreMethod uploadScoreMethod, int score, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] int[] scoreDetails, int scoreDetailCount);
 public UInt64 UploadLeaderboardScore(UInt64 hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, Int32 nScore, ref Int32 pScoreDetails, Int32 cScoreDetailsCount)
 {
     return(this.GetFunction <NativeUploadLeaderboardScoreUEIII>(this.Functions.UploadLeaderboardScore28)(this.ObjectAddress, hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, ref pScoreDetails, cScoreDetailsCount));
 }
示例#13
0
        /// <summary>
        /// Uploads a score change to the indicated leaderboard
        /// </summary>
        /// <param name="leaderboard">The board to upload the score for</param>
        /// <param name="score">The score to upload</param>
        /// <param name="method">The upload method</param>
        public static void _UploadLeaderboardScore(SteamworksLeaderboardData leaderboard, int score, ELeaderboardUploadScoreMethod method)
        {
            if (Instance == null)
            {
                return;
            }

            Instance.UploadLeaderboardScore(leaderboard, score, method);
        }
示例#14
0
 /// <summary>
 /// Uploads a score change to the indicated leaderboard
 /// </summary>
 /// <param name="leaderboard">The board to upload the score for</param>
 /// <param name="score">The score to upload</param>
 /// <param name="method">The upload method</param>
 public void UploadLeaderboardScore(SteamworksLeaderboardData leaderboard, int score, ELeaderboardUploadScoreMethod method)
 {
     if (leaderboard != null)
     {
         leaderboard.UploadScore(score, method);
     }
     else
     {
         Debug.LogError("[SteamworksLeaderboardManager.UploadLeaderboardScore] Leaderboard is null, no score will be uploaded.");
     }
 }
示例#15
0
		public static extern ulong ISteamUserStats_UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, [In, Out] int[] pScoreDetails, int cScoreDetailsCount);
示例#16
0
 private static bool SteamUnityAPI_SteamUserStats_UploadLeaderboardScore(IntPtr stats, ulong leaderboard, ELeaderboardUploadScoreMethod uploadScoreMethod, int score, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] int[] scoreDetails, int scoreDetailCount);
示例#17
0
 public static SteamAPICall_t UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, int[] pScoreDetails, int cScoreDetailsCount)
 {
     InteropHelp.TestIfAvailableClient();
     return (SteamAPICall_t)NativeMethods.ISteamUserStats_UploadLeaderboardScore(hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount);
 }
示例#18
0
 public void UploadLeaderboardScore(ELeaderboardUploadScoreMethod uploadScoreMethod, int score, List<int> scoreDetails)
 {
   if (scoreDetails != null)
     Leaderboard.SteamUnityAPI_SteamUserStats_UploadLeaderboardScore(this._leaderboards.Stats, this._leaderboard, uploadScoreMethod, score, scoreDetails.ToArray(), scoreDetails.Count);
   else
     Leaderboard.SteamUnityAPI_SteamUserStats_UploadLeaderboardScore(this._leaderboards.Stats, this._leaderboard, uploadScoreMethod, score, (int[]) null, 0);
 }
示例#19
0
 /// <summary>
 /// <para> Uploads a user score to the Steam back-end.</para>
 /// <para> This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t</para>
 /// <para> Details are extra game-defined information regarding how the user got that score</para>
 /// <para> pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list</para>
 /// </summary>
 public static SteamAPICall_t UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, int[] pScoreDetails, int cScoreDetailsCount)
 {
     InteropHelp.TestIfAvailableClient();
     return((SteamAPICall_t)NativeMethods.ISteamUserStats_UploadLeaderboardScore(CSteamAPIContext.GetSteamUserStats(), hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount));
 }
示例#20
0
 /// Uploads a user score to the Steam back-end.
 /// This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t
 /// Details are extra game-defined information regarding how the user got that score
 /// pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list
 public static SteamAPICall_t UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, int[] pScoreDetails, int cScoreDetailsCount)
 {
     return((SteamAPICall_t)0);
 }