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); }
/// <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); }
private static extern bool ISteamUserStats_GetAchievement(IntPtr steamUserStatsPtr, UTF8StringHandle pchName, out bool pbAchieved);
private static extern bool ISteamUserStats_SetAchievement(IntPtr steamUserStatsPtr, UTF8StringHandle pchName);
private static extern bool ISteamUserStats_SetStatFloat(IntPtr steamUserStatsPtr, UTF8StringHandle pchName, float nData);
private static extern bool ISteamUserStats_SetStatInt32(IntPtr steamUserStatsPtr, UTF8StringHandle pchName, int nData);
private static extern IntPtr ISteamClient_GetISteamFriends(IntPtr steamClientPtr, IntPtr steamUserPtr, IntPtr steamPipePtr, UTF8StringHandle version);