Exemplo n.º 1
0
        public static bool GetAchievement(string name, out bool achieved)
        {
            achieved = false;

            Console.WriteLine("Going to get achievement " + name);

            IntPtr client = SteamClient();

            if (client == IntPtr.Zero)
            {
                Console.Error.WriteLine("ERROR: Steam client is null");
                return(false);
            }

            IntPtr stats = ISteamClient_GetISteamUserStats(client, SteamAPI_GetHSteamUser(), SteamAPI_GetHSteamPipe(), new UTF8StringHandle(SteamStatsVersion));

            if (client == IntPtr.Zero)
            {
                Console.Error.WriteLine("ERROR: Steam stats is null");
                return(false);
            }

            bool result;

            using (var ptrName = new UTF8StringHandle(name))
                result = ISteamUserStats_GetAchievement(stats, ptrName, out achieved);

            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Sets the stat
        /// </summary>
        /// <returns>Operation result</returns>
        /// <param name="name">Achievement id</param>
        /// <param name="value">Value</param>
        public static bool SetStat(string name, float value, bool save = true)
        {
            Console.WriteLine("Going to set stat {0}, value {1}", name, value);

            if (!s_inited || !s_valid)
            {
                return(false);
            }

            IntPtr client = SteamClient();

            if (client == IntPtr.Zero)
            {
                Console.Error.WriteLine("ERROR: Steam client is null");
                return(false);
            }

            IntPtr stats = ISteamClient_GetISteamUserStats(client, SteamAPI_GetHSteamUser(), SteamAPI_GetHSteamPipe(), new UTF8StringHandle(SteamStatsVersion));

            if (client == IntPtr.Zero)
            {
                Console.Error.WriteLine("ERROR: Steam stats is null");
                return(false);
            }

            bool result;

            using (var ptrName = new UTF8StringHandle(name))
                result = ISteamUserStats_SetStatFloat(stats, ptrName, value);

            if (!result)
            {
                Console.Error.WriteLine("ERROR: Error settings stat " + name);
            }
            else
            if (save)
            {
                ISteamUserStats_StoreStats(stats);
            }

            return(result);
        }
Exemplo n.º 3
0
 private static extern bool ISteamUserStats_GetAchievement(IntPtr steamUserStatsPtr, UTF8StringHandle pchName, out bool pbAchieved);
Exemplo n.º 4
0
 private static extern bool ISteamUserStats_SetAchievement(IntPtr steamUserStatsPtr, UTF8StringHandle pchName);
Exemplo n.º 5
0
 private static extern bool ISteamUserStats_SetStatFloat(IntPtr steamUserStatsPtr, UTF8StringHandle pchName, float nData);
Exemplo n.º 6
0
 private static extern bool ISteamUserStats_SetStatInt32(IntPtr steamUserStatsPtr, UTF8StringHandle pchName, int nData);
Exemplo n.º 7
0
 private static extern IntPtr ISteamClient_GetISteamFriends(IntPtr steamClientPtr, IntPtr steamUserPtr, IntPtr steamPipePtr, UTF8StringHandle version);